那咱就按照“增删改查”来呗,依次如下:
增:
arr = [] arr.append(1) print(arr) # [1]''' append 末尾追加单个元素 ''' arr.extend([2, 3, 4]) print(arr) # [1, 2, 3, 4]''' extend 合并另一个数组,一般用于批量添加 '''
删:
''' pop,默认删除最后一位,也可以删除指定下标对应的元素 ''' arr = [1, 2, 3, 4, 5] arr.pop() print(arr) # [1, 2, 3, 4] arr.pop(0) # [2, 3, 4]
改:
arr = [1, 2, 3] arr[0] = 10 print(arr) # [10, 2, 3]
查:
''' 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)
我相信,只要你是学计算机的,你一定知道它。这个知识点入门的话,4个知识点足够了,分别如下:
class Data: def __init__(self, a, b): self.a = a self.b = b c1 = Data('name', 20) print(c1.a, c1.b) # 'name' 20
# 还是刚才的例子 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)
class Data: def __init__(self): ...一些初始化逻辑 def __repr__(self): ...控制输出信息 def name(self): ...一些数据的处理,想要执行,必须由用户手动调用 c1 = Data() c1.name()
通过上面的代码,有相关经验的同学应该能猜到一些规律,哈哈哈,确实是这样的,给大家总结一下:
class里的函数分为“内置函数”、“普通函数”。内置函数支持开发者重写,但是调用时机是固定的。“普通函数”的调用时机,必须由开发者自己去调用。
无论是“内置函数”,还是“普通函数”,第一个参数必须是“self”,self代表实例对象。
如果你写了很多的class,你会发现每个class你都要手动处理"__init__"、"__repr__",你写着写着就会发现,好多重复的代码,因此 “dataclass” 这个库是你后续随处可见的三方库,通过装饰器的写法,帮你简化了很多逻辑一样,但又没必要的事情。
好啦,至此,屏幕前的各位算是真正入门Python啦,时间来到7月5日凌晨2点半,真的给老弟困懵了,我们下期再见👋👋