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)。

可变序列(Mutable Sequence):列表(class list)、字节数组(class bytearray)。
 

集合是一种可迭代的、无序的、不可以包含重复元素的数据结构。

集合:可变集合(set)和不可变集合(frozenset)。

 

映射(Mapping):只有字典(dict)。

3、简写

【python】 if - else写在一行

num = 1 if param > 10 else 0

等价于

if param > 10 :
    num = 1
else:
    num = 0

python: for in 的一行简写,返回一个新字典、新列表

 

4、for in使用

Python 中的多层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用法

Python3 print 函数用法总结

格式化输出

>>> str = "the length of (%s) is %d" % ( 'runoob' , len ( 'runoob' ))
>>>  print ( str )
the length of (runoob)  is 6

  

8、迭代器、生成器

Python 迭代器(Iterator) 

9、函数

 
pairwise:获取连续重叠对,这个函数是Python 3.10 新特性
 
all: 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
 
 
posted @ 2022-08-16 16:30  素染年华  阅读(40)  评论(0编辑  收藏  举报