python_day2
一:基础知识
1、模块(库)
- 标准库
- 第三方库
导入库时,建立的文件名不能与库相同。
2、sys模块
- sys.path #环境变量,打印的是相对路径

- sys.argv #绝对路径

3、os模块(和系统交互)
1 #Author : Li 2 import os 3 4 #cmd_res=os.system("dir") #执行命令,不保存结果 5 #print("---->",cmd_res) 6 7 8 9 #cmd_res2=os.popen("dir") 10 #print("---->",cmd_res2) #打印出的是内存的对象地址 11 12 13 14 cmd_res2=os.popen("dir").read() #调用read()读取结果 15 print("---->",cmd_res2) 16 17 18 19 #os.mkdir("new_dir") #新建目录
4、.pyc
.pyc里面存的是预编译后的字节码文件,不是机器码!
二: 重点知识
1、数据类型
- type() #查看数据类型
- int 在64位机器上,取值范围 -2^63 ~2^63-1
浮点数,53.2E4=53.2*10^4
复数 (-5+4j) j为虚数部分
- 布尔值 1 or 0 True False
- 数据运算



三元运算:
result=值1 if 条件 else 值2
举个例子:
a,b,c=1,2,3
d=a if a<b else c
print(d)
bytes类型
字节数据类型


2、元组与列表 (重点的重点)
列表:
增删改查
1 #Author : Li 2 names=['a',"b",["23","45"],"d","e"] 3 names2=['A',"B","C"] 4 print(names2) 5 6 print(names[::2]) #每隔两个元素就取出一个 7 8 print(names[0:2]) # 顾头不顾尾 9 10 print(names[-4:-1]) # 取出的是b,c,d 11 12 #插入元素 13 names.append("f") #插入元素,默认插入到最后一个 14 names.insert(2,"A") #强行插入元素 15 16 #修改一个位置的元素 17 names[3]="B" #修改一个位置的元素 18 19 #删除列表的元素 20 names.remove("a") 21 names.pop() #如果不加入下表,默认删除最后一个 22 del names[3] #删除列表的元素 23 24 #查找元素 25 print(names.index("c")) #查找元素的下标(位置) 26 print(names[names.index("c")]) #显示查找到的元素 27 28 #统计相同元素的个数 29 print(names.count("c")) 30 31 #反转列表 32 names.reverse() 33 print(names) 34 35 #列表扩展 36 names.extend(names2) #names2列表还存在 删除names的话直接 del names2 37 38 #列表排序 39 names.sort() #按照ASCII码的顺序来排序 40 41 42 #复制列表(浅copy) 43 name3=names.copy() #浅copy 44 45 names[1]="G" 46 names[2][0]="12" 47 print(names) 48 print(name3) 49 50 #复制列表(深copy) 51 import copy 52 names4=copy.deepcopy(names) 53 names[1]="G" 54 names[2][0]="12" 55 print(names) 56 print(names4) 57 58 59 #列表循环 60 for i in (names[2]): 61 print(i) 62 63 print(names)
元组 (一旦创建,不能修改,只能切片和查看)
又叫做只读列表
name=("a","b","c")
一共有两个用法: count 和 index
3、字符串的操作
平时多看看!!!
1 #Author : Li 2 name="my name is li feng" #常看看,用得到! 3 name1="my {name} is lifeng" 4 name2="my name is {name} and i'm {age} year ago!" 5 6 print(name.capitalize()) #首字母大写 7 8 print(name.count('i')) #打印个数 9 10 print(name.center(50,'-')) #50个字符,其余的用-补充,居中 11 12 print(name.endswith('eng')) #检测字符串是不是以eng结尾的 13 14 print(name.expandtabs(tabsize=30)) #扩展一处的长度 15 16 print(name1.format(name='LIFENG')) #字符串拼接 17 18 print(name2.format_map({'name':'lifeng','age':'20'})) #里面是字典 19 20 print(name[name.find('name',):]) # 找元素的索引,字符串也可以切片 21 22 print('123'.isalnum()) # 是不是阿拉伯数字 23 24 print('asd'.isalpha()) #是不是纯英文字符 25 26 print('10'.isdecimal()) #是不是十进制 27 28 print('132'.isdigit()) #是不是一个整数(常用) 29 30 print('a123'.isidentifier()) #是不是一个合法的标识符 31 32 print('ASD'.isupper()) #是不是大写 33 34 print(name.islower()) #是不是小写 35 36 print('1232'.isnumeric()) #是不是数字 37 38 print(name.index('') ) # 找下标 39 40 print(','.join(['1','2','3','4'])) #常用! 41 42 print(name.ljust(50,'#')) #长度50,不够的后面补上# 43 44 print(name.rjust(50,'$')) #长度50,不够的前面补上$ 45 46 print(name.strip()) #删除空格 47 48 49 p=str.maketrans("lgeinf",'!@&^%$') #加密输出 50 51 print("li feng".translate(p)) 52 53 54 print("lifenl".replace('l','d',1)) #替换 55 56 print("li feng li feng".rfind('i')) #从左到右,找到最右边一个,返回下标 57 58 59 60 print("li feng li feng".split('e')) #把字符串按(里面的值)分成列表 (常用!) 61 62 print("li \n feng".splitlines()) #按换行来分成列表 63 64 65 print("Li Feng".swapcase()) #大小写互换
4、字典的操作
- 是key-value的数据类型
- 字典是无序的,key是唯一的
1 #Author : Li 2 #字典的一些用法! 3 4 info={ 5 '山东':"济南", 6 '吉林':"长春", 7 '江苏':"南京", 8 '河南':"郑州", 9 10 } 11 12 13 info1={ 14 '新疆':"乌鲁木齐", 15 '黑龙江':"哈尔滨", 16 } 17 info['山东']="青岛" #修改key下面的元素 18 19 del info['山东'] #删除一个key 20 21 info.pop("山东") #删除一个key 22 23 print(info.get('山东')) #查找 24 25 26 info.update(info1) #更新一个字典 27 28 print(info.items()) #把一个字典转成一个列表 29 30 for i in info: #循环字典 (节约时间!) 31 print(i,info[i]) 32 #print(info)

浙公网安备 33010602011771号