.pyc 文件是对.py文件编译后的文件。.pyc存的是预编译后的字节码文件
print出来有颜色:\033[31;1m%s\033[0m 其中31代表颜色,%s代表格式化输出
exit()可以终止程序
数据类型:
python 3.X中没有long int,都是整型int,但是其他语言还是有这个概念的
float 浮点型,不等于小数。大概记得小数就是浮点数就可以了。
复数 5+3j j表示复数单位,与普通数学中不一样。可以忽略,普通程序员用不到复数
布尔类型 只有true和false 或者说1和0
列表:
取列表里面的值是list[a:b:c],含左不含右,从a开始取,取到b,步长为c(若a=0,b=-1,可以直接省略)
append 按照顺序插入值
insert(num,"元素")num是插入内容的位置
list.remove("元素") 直接可以删除内容
del list[下标]
list.pop() 默认删除最后一个,加入下标可以效果和上一个一样的
index("元素") 查找元素所在的下标(索引),有多个重复元素,查找的第一个
count("元素") 统计个数
sort 排序,特殊符号最先——数字——大写——小写
extend 合并另外一个列表
del 删除列表
如果列表中有元素为列表,元素的列表是在内存空间重新开辟的位置存储,而在上一层的列表存储的是元素列表的内存地址
eg:
names = [‘shenbingsheng‘,‘shenman‘,‘shenlihui‘,‘tianqunwen‘,‘liuqunbi‘,["shenlihua","shenmaohua"]]
names中的列表["shenlihua","shenmaohua"]是在内存空间重新开辟的地址,names中存储的是["shenlihua","shenmaohua"]的内存地址
copy 复制列表,浅copy,只会复制的是第一层,也就是说只会复制哪个names中的["shenlihua","shenmaohua"]列表的内存地址
浅copy:
L1 = copy.copy(names) L2 = names[:] L3 = list(names)
假设需要深copy一份,必须调用copy模块中的deepcopy函数
eg:
names2 = copy.deepcopy(names)
isdigit() 判断input输入的是否为数字,是返回True,不是返回False
enumerate()得到索引序列,利用它可以同时得到索引和元素
eg:
a = [1,2,3,4,5,6,7,8,9] for item in enumerate(a): print(item) # item相当于一个索引和元素匹配的元组 for index,i in enumerate(a): print (index,i) # 这样得到的index是索引,i是元素
字符串操作:
eg:
name = ‘my name is {name} and I am {year} old.‘ print(name.capitalize()) # 字符串首字母大写 print(name.lower()) # 大写变小写 print(name.upper()) # 小写变大写 print(name.count("s")) # 统计字符串中s的个数 print(name.center(60,"*")) # 打印60个字符,不够的用*补位,其中name居中 print(name.rjust(60,"*")) # 打印60个字符,不够的用*补位,其中name在右 print(name.ljust(60,"-")) # 打印60个字符,不够的用*补位,其中name在左 print(name.endswith("sheng")) # 判断以什么字符串结尾,正确返回True,错误返回False print(name.startswith("my")) # 判断以什么字符串开始,正确返回True,错误返回False print(name.find("name")) # 寻找name所在字符串中的位置,用于切片 print(name.format(name="SBS",year=22)) print(name.format_map({"name":"SBS","year":22})) #用法和format差不多,用的更多的是format print(name.isdigit()) # 判断是不是字符串是不是纯数字 print(name.isalnum()) # 判断是不是字母或者数字 print(name.isalpha()) # 判断纯英文字符 print(name.isidentifier()) # 判断是不是合法的标识符(变量名) print(name.islower()) # 是不是小写 print(name.isupper()) # 是不是大写 print(name.istitle()) # 是不是标题,标题单词首字母都要大写 print("A".join("shenbingsheng")) # 把每一个字符都用引号里面的字符分开 print(name.strip()) # 去掉转行符和空格符号 print(name.replace("m","M",2)) # 替换,替换m为M,只替换2个 print(name.split()) # 分割字符串为一个列表,不填值默认是按照空格分割 print("SbS".swapcase()) # 大写变小写,小写变大写 print(name.title()) # 变成标题
字典:
创建:
stu = {‘stu1001‘:‘Shenbingsheng‘,‘stu1002‘:‘Zhangzhongxia‘,‘stu1003‘:‘Zhangxiaohei‘}
修改:
stu[‘stu1001‘] = ‘沈炳声‘
插入:
stu[‘stu1004‘] = ‘Alex‘
删除:
1.del stu[‘stu1001‘]
2.stu.pop(‘stu1001‘)
3.stu.popitem() #随即删除一条
查找:
1.stu.get(‘stu1004‘) # 有就显示,没有返回None
2.stu.[‘stu1003‘] # 只有在确定有这个键的时候才这么用
stu.key() 查看key
stu.values() 查看所有的values
stu.setdefault(‘stu1001‘,‘SBS‘) 若有键stu1001则不变,若没有,则添加新的
new_stu = {
‘stu1003‘:‘zhangxiaobai‘,
‘stu1004‘:‘yixiaoqing‘,
‘stu1005‘:‘jincongcong‘
}
stu.update(new_stu) # 有交叉的就更新,其他的直接加入进去
stu.item() 字典转成列表