split()

python中split函数的返回值是列表


python对象

字符串.join(列表) 将字符串添加到每个元素之间,组成新的字符串,可以把列表的[]删掉

查看引用计数会比实际多一个

单继承、多继承、单层继承、多层继承

通过实例对象.方法名()调用方法,不需要给self传递实参值,python解释器会自动将对象作为实参值传递给self形参,如果是通过类名.方法()调用, python解释器就不会自动传递实参值,需要手动给self形参传递实参值

#实例对象.dict
可以查看对象具有的属性信息,类型是字典,字典的key是属性名,字典的value是属性值

私有:不能再类外部通过对象来访问和使用,只能在类内部访问和使用

查看对象属性 用对象.dict
查看类属性 用对象.dict

#补充,注意:如果不存在和实例属性名相同的类属性.则可以使用实例对象访问类属性的值

#如果存在重名,则使用实例属性访问的一定是实例属性,不是类属性


列表、字典

列表中进行排序时,数据类型必须一致

字典中的key就是不可变类型,
就只能存字符串和数字

集合、列表、元组三者之间可以互相转换

文件中内容只会读取一次,因为光标移动了

str中strip函数是去除空格也包括\n字符

100Mbits 200Mbits
12.5MB/s 25MB/s


不可变类型

类型的可变与不可变:在不改变变量引用的前提下,能否改变变量中引用中的数据,如果能改变是可变类型,如果不能改变,是不可变类型

python内存优化是对于不可变类型来说的

lambda匿名函数如果是无返回值类型的话就相当于直接输出,如果是有返回值的话,就相当于 是一个值,然后再输出匿名函数


参数、可变类型

#缺省参数,形参.在函数定义的时候,给形参一个默认值,这个形参就是缺省参数

,#注意点:缺省参数要写在普通参数的后边
#特点:在函数调用的时候,如果给缺省参数传递实参值,使用的是传递的实参值,
如果没有传递,使用默认值

#类型的可变与不可变:
在不改变变量引用的前提下,能否改变变量中引用中的数据,
#如果能改变是可变类型,如果不能改变,是不可变类型

int fLoat bool str list tuple

#不可变类型:int fLoat bool str tuple
#可变类型: list dict

注意点:函数定义中的args和kwargs可以是任意的形参变量, 不过习惯使用args和 kwargs.


字典的遍历

index和remove函数要是查找和删除的不对都会报错

#注意点key值int的1和fLoat的1.0 代表一个key值

字典的遍历:用keys和不用的区别是 keys 得到的是所有key转换成了一个列表

列表中没有find方法
字符串中有

+支持字符串、列表、元组进行操作,得到一个新的容器

*整数复制,支持字符串、列表、元组进行操作,得到一个新的容器

in/not in判断存在或者是不存在,支持字符串、列表、元组、字典进行操作,注意:如果是字典的话,判断的是 key值是否存在或不存在

如果for循环中只有一个整数类型的数据 ,则就会报错,因为要遍历的对象需要是迭代对象


变量

1单引号和双引号是没有区别的

2需要将数字类型的字符串转换为数字类型(int float ),就可以使用eval(),
也可以不使用,直接使用int()或者 float()

1import random
2#产生[a, b]之间的随机数,包含a 和b
3num = random.radint(a,b)

变量=表达式1 if判断条件else表达式2

推荐使用扁平化代码

for临时变量 in 列表或者字符串等可迭代对象:
循环满足条件时执行的代码

pass #占位,空代码让代码不报错
if 判断条件:
pass

如果字符串本身包含单引号,使用双引号定义,如果包含双引号可以使用单引号定义,或者统一使用三引号引号

字符串可以用乘法

列表中的添加是加到原数据中
而字符串中的添加是变成一个新的字符串