1.continue 的作用:跳出一次循环,进行下一次循环
2.break 跳出不再循环
3.常量 (全是大写)NAME = cjk 一般改了会出错
4.python的第三方库,先安装再导入。装模块:pip 命令
例如:pip install pandas
5.os.system(command)在linux 和window上都行
6.res = os.popen('ipconfig').read()
7.pyc是个什么东西。
8.sys.exit()直接跳出所有
9、列表:name = ['minglong','minghu','32','jack']
name[0] 是 'minglong' name[-1] 是 'jack' name[:2] 是从头到minghu 永远取不到最后一个 ,name[2:] 从32到最后
修改元素: name[0] = 'wangminglong' name[0][0] 是 'm',取出元素中的一个值
插入:name.insert(2,',minggou') 是 往minghu后面添加了minggou
追加:name.append('xiaoming') 在最后添加了xiaoming
删除:name.remove('xiaoming') 直接删除xiaoming或者 del name[0:2] 将第一个到第二个删除,name.pop(0)将第一个数删除,并返回这个元素。
步长:name[::2]步长是2,每隔一个取一个元素
查:32 in name 判断32是不是再name列表中
name.count('minglong') :对name列表查找有几个'minglong' 返回 1。
name.index('minglong');查找minglong的索引是多少,返回0。如果有多个minglong 会返回第一个查到到的结果的index。
name2 = ['cjk','xiaoqiang',2,4]
name.extend(name2):将name2追加到name列表中
name.reverse():反过来将元素排序。
name.cope()浅复制。import copy 模块中有一个deepcopy 它是深复制。区别在于:如果列表中嵌套一个列表的话,对于浅复制产生的列表,嵌套中的列表也会跟着
原列表改变,而深复制则是完全克隆一个列表,而且2个各自独立。
len(name):列表的长度,这里是元素数量。
7.26
10、元组: name = (1,'qqq',12) 只读列表。
name.count和name.index就2个应用。。
11.字符串:
移除空白strip:name = input('username:') ,if name.strip() == 'cao': print('welcome') 默认删除空白符(包括'
', '
', ' ', ' ')。
分割split:names = 'cao ,cjk,alex' name2 = names.split(',') 则name2 = ['cao','cjk','alex']将字符串按照’,’分割成列表。
join将列表中的元素组成字符串:name3 = '|'.join(name2) 则name3 = 'cao|cjk|alex'
判断有没有空格:name = 'cao fa' ,print('' in name) 返回True
str.format(): msg = 'hello {name} it's been {time] days since i saw you' msg2 = msg.format(name = 'cjk',time = 30) 或者
msg = ’hello {0} dddd{1}' msg2 = msg.format('alex',33) 也行的。dic1 = {'name':'alex','age':16} msg2 = msg.format(**dic1)或者
list1 = ['alex',18] msg2 = msg.format(*list1)传递的是list1中的所有元素。
字符串的索引与切片和列表一样:name = 'caofajia' name[0] = 'c'
str.center(): 如name = 'cao' ,name.center(40,'-') 会生成 '--------cao--------'以cao 为中心的总共四十个字符并以'-'补全。
12、运算符
12.1 、算数运算符
+ - * / // % **
12.2、关系运算符
< <= > >= == !=
12.3、逻辑运算符
and or not
12.4、位运算符
取反(~),按位 与(&), 或(|) 及 异或(^) 及左移(<<)和右移(>>)
12.5 赋值和增量赋值运算符:
+= -= *= /= %= **=
<<= >>= &= ^= |=
12.6 补充:
复数不能使用关系运算符
位运算符只能用于整数类型
13. 死循环:
while True:print('nihao')
14.字典: id_db = {
12:{
'name':'cao','age':12,'addr':'shandong'
},
13:{
'name':'alex','age':11,'addr':'dongbei'
}
}
查:id_db[12] 对应键为12的 值为{ 'name':'cao','age':12,'addr':'shandong‘}
改:id_db[12]['name'] = 'cjk' 这里将'cao'改为了'cjk'
删:id-db[12].pop('addr') 删除了 addr对应的键值。
增:id_db[13]['qq_of_wife'] = 2134 ,在13下面的字典中加入了‘qq_of_wife:2134.
id_db.get( ):好处就是如果键不存在的话,直接返回 None.
id_db.update( ): dict1 = {
13:{ 'name':'shanpao','age':13
}
14:{ 'name':'dashanpao','age':21
}
} 如果id_db.update(dict1) 则id_db会变为添加了 14这个 并且dict1中的13 覆盖了id_db中的13.
id_db.items( ) :一般不用于数据量大的字典中,因为他要将字典转化为 list形式,效率慢。
id_db.values( ) : 显示 值组成的列表。
id_db.keys( ): 显示 键组成的列表。
判断键在不在字典中:12 in db_db 返回True。
id_db.setdefault( ) 和id_db.fromkeys() 一般不用。。。
循环:for k , v in id_db.items( ):这种效率低,因为要dict转list。
for key in id_db: 一般用这种。
print(key,id_db[key])
15. set:无序,不可重复的序列集合。
表示方法:1. s1 = {11,22,33} 2. set([11,22,33]) 也行,其实是执行的一个for循环生成{11,22,33}。
添加add: s1.add(44) 添加了一个set中没有的元素。如果重复就不添加。
clear 和 copy 同 list。
difference: s2 = {22,33,44} 则s1.difference(s2) 表示s1中存在,s2中不存在的,生成新的对象{11}。
symmetric_ difference: s1.symmetric_difference(s2) 生成新的{11,44}
difference_update: s1.difference_update(s2) 将s1变为{11}.这里只要后面有update 的表示将前面的对象s1更新改变。
移除:1.dicard s1.dicard(11) 移除11,s1.dicard(11221) 不存在的元素不会报错。
2.remove s1.remove(1123130) 移除不存在的会报错
3. pop() s1.pop() 随机移除并生成一个移除的对象,一般 s3 = s1.pop()。
intersection: s1.intersection(s2) 求交集生成行的对象{22,33}。
union: 并集 s1.union(s2)
批量添加: s1.update([111,222,333,444]) update 接受可以迭代的对象如 list,str,tuple。