上一篇,我们入门了Python的一些语法风格,这期直接上干货,你只要掌握了这些数据基础,那么你就算真正的入门Python啦。不要觉着本期文章只会单纯的罗列知识点,完全从实战出发,只讲最常用的。因此你放心,这些东西不仅简单,学起来也没有心智负担。
一、字符串
单引号、双引号都可以。这是非常简单的,代码如下:
Python
print('1')
print("2")
说一个比较常用的吧,就是动态字符串,也叫模版字符串。通过 " f + {}" 完成。
Python
a = 1
print(f"这是什么:{a}")
# 输出:这是什么:1
二、布尔
True、False。
Python
a = True
b = False
三、函数
通过"def"关键字声明,注意了老铁,函数体不要带"{}"哦!
Python
def main():
...函数体处理
"()"里支持声明参数,这些参数支持通过"="给参数定义默认值。如果为了语意化,不仅可以通过":"声明给参数增加类型,同时也支持通过"->"显示的定义函数返回类型。
Python
def main(obj1 = 3) -> str:
print(obj1)
return '函数'
main(2) # 输出2
main() # 输出3
四、数组
那咱就按照"增删改查"来呗,依次如下:
- 增
Python
arr = []
arr.append(1)
print(arr) # [1]
''' append 末尾追加单个元素 '''
arr.extend([2, 3, 4])
print(arr) # [1, 2, 3, 4]
''' extend 合并另一个数组,一般用于批量添加 '''
- 删除
Python
''' pop,默认删除最后一位,也可以删除指定下标对应的元素 '''
arr = [1, 2, 3, 4, 5]
arr.pop()
print(arr) # [1, 2, 3, 4]
arr.pop(0) # [2, 3, 4]
- 改
Python
arr = [1, 2, 3]
arr[0] = 10
print(arr) # [10, 2, 3]
- 查
Python
''' in 关键字可以查看元素是否存在于数组中 '''
arr = [1, 2, 3, 4, 5]
print(2 in arr) # True
print(20 in arr) # False
''' len方法可以获取数组的长度 '''
print(len(arr)) # 5
''' for ... in enumerate(...) 可以实现数组遍历 '''
for index, item in enumerate(arr):
print(index, item)
五、class
我相信,只要你是学计算机的,你一定知道它。这个知识点入门的话,4个知识点足够了,分别如下:
- 语法结构。依然通过"class"关键字声明,逻辑部分依然通过"缩进"表示。
Python
class Data:
...
- 逻辑初始化。通过"init"函数完成,支持传入参数。当调用class时,会自动调用"init"方法,可以在这里做一些逻辑初始化。
Python
class Data:
def __init__(self, a, b):
self.a = a
self.b = b
c1 = Data('name', 20)
print(c1.a, c1.b) # 'name' 20
- 规范化输出。通过"repr"完成。
Python
# 还是刚才的例子
print(c1) # <__main__.Data object at 0x1028df690>
'''
刚才的例子,如果直接输出c1,只有内存地址,完全看不出数据
__repr__ 是 Python 对象的官方字符串表示方法,定义「把对象打印出来长什么样」
当我们执行print时,会优先调用__repr__方法
'''
class Data:
def __init__(self, a, b):
self.a = a
self.b = b
def __repr__(self):
return f"Data(a={self.a}, b={self.b})"
c1 = Data('name', 20)
print(c) # Data(a=name, b=20)
- 在类里定义一个普通方法。这没什么稀奇的,依旧是通过"def"关键字完成。
Python
class Data:
def __init__(self):
...一些初始化逻辑
def __repr__(self):
...控制输出信息
def name(self):
...一些数据的处理,想要执行,必须由用户手动调用
c1 = Data()
c1.name()
通过上面的代码,有相关经验的同学应该能猜到一些规律,哈哈哈,确实是这样的,给大家总结一下:
- class里的函数分为"内置函数"、"普通函数"。内置函数支持开发者重写,但是调用时机是固定的。"普通函数"的调用时机,必须由开发者自己去调用。
- 无论是"内置函数",还是"普通函数",第一个参数必须是"self",self代表实例对象。
- 如果你写了很多的class,你会发现每个class你都要手动处理"init"、"repr",你写着写着就会发现,好多重复的代码,因此dataclass这个库是你后续随处可见的三方库,通过装饰器的写法,帮你简化了很多逻辑一样,但又没必要的事情。
最后
好啦,本篇作为入门Python系列的最后一篇文章,怎么样,阅读下来,是不是很简单。语言真的仅仅只是个工具,重要的是 思维逻辑 + 执行力 + 心力。只要具备这3个能力,我相信,你干什么都能成功!
好啦,我要去健身了,👋👋