PYTHON3基础学习笔记

1、#代表注释。
2、javascript是弱类型,而python更过分直接变为了无类型。
3、//代表除法+向下取整(结果依然有可能是浮点数),**代表乘方。
4、变量[头下标:尾下标],这里的尾下标无论正负都是截取元素的后一个元素(左闭右开)。
5、字符串(特殊元组)不能改变。
6、List中数据类型可以不同,其中的元素可以改变。
7、Tuple中数据类型可以不同,其中的元素不可以改变;空与一个元素(后加逗号)元组的特殊表示形式。
8、空集合的创造方法(只能用set())、集合^运算表示异或(有你没我/有我没你)。
9、字典dict其实就是c++里的map。
10、海象运算符其实就是中间变量赋值法。
11、身份运算符is用于判断对象整体是否相等(通过判断内存地址)。
12、变量的定义即赋予它一个值。
13、最后结果变量为_,只读。
14、\表示续行符。
15、三引号输入字符串:所见即所得。
16、f-string用来代替%式的格式化。
17、嵌套列表用于实现多维数组。
18、小括号——元组,中括号——列表,大括号——单元素集合/双元素字典。
19、集合和字典的update运算居然是从前面添加,且数据类型可以为列表;由于set为无序的,所以pop时随机删除;注意set的update()运算没有返回值!
20、CTRL+C 退出无限循环。
21、少了do...while,多了while...else、for...else;循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。
22、range()使用单参数从0开始,单、多参数都是左闭右开。
23、用于占位等待外中断(CTRL+C)。
24、生成器是为了节省内存,一个一个生成而非整体生成。
25、不定长参数使用*+元组的方式传入。
26、Windows是一个大小写不区分的系统。
27、str()和repr()的最主要的区别就是前者提供给用户,后者用于调试。
28、
(1)、形参中使用一个*:将所有传递来的值,装载到一个元组/列表内;形参中使用两个*:将传递来的值,装载到字典中。
(2)、列表前面加星号作用是将列表解开成多个独立的参数,传入函数;字典前面加两个星号,是将字典解开成独立的元素作为形参。
29、open文件中的w参数在写文件时删除了原有文件。
30、print中的end参数用于填充结尾,print()用于输出一个空行。
31、f.write()返回写入的字符数,如果要写入一些不是字符串的东西, 那么将需要先进行转换,用str()。
32、b" "前缀表示后面字符串是bytes 类型,输出时候通常也会加b。
33、int(input())输入非整数时会报错,因为int()只能转化整数型的字符串;要想这样转化只需使用int(float(input())),这样先转化为浮点型再转化为整形即可。
34、使用try/except...else语句是为了分流try。
35、raise用于直接抛出异常。
36、如果一个异常在 try 子句里(或者在 except 和 else 子句里)被抛出,而又没有任何的 except 把它截住,那么这个异常会在 finally 子句执行后被抛出。
37、open+with字句可以使打开的文件自动关闭。
38、类变量和实例变量的区别:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象。
39、类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self,代表类的实例;self.class代表他所在的类。
40、子类初始化时还要带上父类,若不带上父类,则使用父类的init。
41、多继承中基类中拥有相同的方法,调用最先继承的那个类的方法。
42、超类代表父类,通过super()函数访问父类方法。
43、私有变量和方法都用__(两个下划线)开头。
44、相比于其他语言,可以函数内部作用域可以修改全局变量(使用global)、修改外层非全局作用域变量(使用nonlocal)。
45、python可以用x,y = y,x的形式交换变量。
46、unicodedata代表各国语言。
47、max函数可以找出一个列表或元组中多个元素的最大值。
48、Python3 他喵的居然支持中文变量???
49、\t表示四个空格,也就是一个tab;\r表示将光标的位置回退到本行的开头位置。
50、有len函数之间量字符串的长度。
51、有直接转化为二进制、八进制、十六进制的bin()、oct()、hex()函数。
52、ord():字符对应的ASCII码;chr():ASCII码对应的字符。
53、math模块中有gcd()函数。
54、isalnum()作用,检查所传字符是否都是字母和数字。
55、capitalize()表示把第一个字母转化为大写字母,其余小写;title()表示把每个单词的第一个字母转化为大写,其余小写。
56、lambda()代表匿名函数,用于精简代码。
57、删除列表中某值的首元素用remove(),若删除某值的所有元素,用filter()。
58、join()将元素为字符串(注意这个为前提)的list转化为字符串;split()将字符串以某个元素为界点分割成元素为字符串的list。
59、f" "前缀表示输出格式化字符串(中间有大括号可代替变量或表达式的值)。
60、for后接_代表匿名变量。
61、python写的程序中键盘输入中断也属于异常。
62、sum()函数可以直接对列表、集合、元组中元素进行求和。
63、python普通语句后面不用加封号。
64、list[param1(起始):param2(终止):param3(步长,-1时为翻转)],其中步长可以省略。
65、基于Python List的赋值方法:
(1)、直接赋值(a=b):赋的是引用;
(2)、浅拷贝:切片操作(a[:]),工厂函数(list[a]),copy模块中的copy函数(copy.copy(a)),这些只能拷贝第一层内容,深层次的依然是引用;
(3)、深拷贝:copy模块中的deepcopy函数(copy.deepcopy(a)),深层次的也是拷贝而非引用;
(4)、若元素为原子类对象,则该对象无论怎样都是浅拷贝。
66、工厂函数本质上就是生产了一个实例,通常用于浅拷贝。
67、functools 模块中的reduce()函数:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。[感觉不常用]
68、sorted()函数:sorted(iterable(迭代对象), key=None(排序依赖的关键字), reverse=False(是否逆序))  。
69、字典中的pop()方法返回函数的键值,可以自定义异常信息。
70、set是无序的,所以同一set每次输出可能都不一样。
71、时间戳我认为就是一个记录下来的时间。
72、eval() 函数用来执行一个字符串表达式,并返回表达式的值。

猜你喜欢

转载自blog.csdn.net/Flynn_curry/article/details/112699056