Python3_2022
1、Python中 __init__的通俗解释是什么?
__init__函数(构造函数)和__del__函数(析构函数)
__init__属于魔法函数的一种,让我们来看一下它的前世今生吧。后面介绍了其他的魔法函数:__ str__()、__ new__()、__ unicode__()、__ call__()、__ len__()、__repr__()等等
所谓魔法函数(Magic Methods),是Python的一种高级语法,允许你在类中自定义函数(函数名格式一般为__xx__),并绑定到类的特殊方法中。比如在类A中自定义__str__()函数,则在调用str(A())时,会自动调用__str__()函数,并返回相应的结果。在我们平时的使用中,可能经常使用__init__函数(构造函数)和__del__函数(析构函数),其实这也是魔法函数的一种。
所有类的超类object,有一个默认包含pass的__ init __()实现,这个函数会在对象初始化的时候调用,我们可以选择实现,也可以选择不实现,一般建议是实现的,不实现对象属性就不会被初始化。
2、Python数据结构之序列(Sequence)、集合(Set)、映射(Mapping)
不可变序列(Immutable Sequence):字符串(class str
)、元组(class tuple
)、字节串(class bytes
)、范围(class range
)。
list
)、字节数组(class bytearray
)。集合是一种可迭代的、无序的、不可以包含重复元素的数据结构。
集合:可变集合(set)和不可变集合(frozenset)。
映射(Mapping):只有字典(dict)。
3、简写
num = 1 if param > 10 else 0
等价于
if param > 10 :
num = 1
else:
num = 0
python: for in 的一行简写,返回一个新字典、新列表
4、for in使用
a = [[1],[2],[3],[4],[5]] [x for i in a for x in i]
输出:[1, 2, 3, 4, 5]
注意区分以下代码中两个for in(lyh,先执行右边for in,然后左边for in是是在构造列表里面的元素)
class Solution: def isAlienSorted(self, words: List[str], order: str) -> bool: ind = {w: i for i, w in enumerate(order)} lst = [[ind[w] for w in word] for word in words] n = len(lst) for i in range(n - 1): if lst[i] > lst[i + 1]: return False return True
5、python 集合的操作
6、IDE中警告处理
警告:
python是一门弱类型的语言,使用过程不用过多关注变量的类型,但是同时也带来了可读性问题,有时候自己都不知道传入的是什么参数。因此在python3.5之后,引入了typing模块。
解决:
from typing import List
或
import typing 然后 typing.List
7、print用法
格式化输出
>>> str = "the length of (%s) is %d" % ( 'runoob' , len ( 'runoob' )) >>> print ( str ) the length of (runoob) is 6