python学习之day2学习笔记(1)
一、模块
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持
1.sys
import sys#调用模块 print(sys.path)#打印环境变量 print(sys.argv)#打印相对路径
2.os
import os cmd_res = os.system("dir") #执行命令,不保存结果#输入结果直接打印在屏幕上,所以输出结果cmd_res=0 cmd_res = os.popen("dir").read() #存在内存里的一个地方 print("-->",cmd_res) os.mkdir("new_dir")#创建一个目录'''
3.调用自己写的模块
import passwd #放在当前目录下才可以引用
二、数据类型
1.基本数据
int (整型):
没有long,数据过大会自动转换。
float (浮点数)
E表示10的幂次方 5E-4 = 5*10^4
布尔值:
真或假、1或0
三元运算:
result = 值1 if 条件 else 值2
2.字符编码与转码
msg = "我爱天安门" print(msg) print(msg.encode(encoding='utf-8')) print(msg.encode(encoding='utf-8').decode(encoding='utf-8')) #string 通过 encode 转成 bytes #bytes 通过 decode 转成 string
3.字符串的用法
name = "my name is zhangsan" print(name.capitalize())#首字母大写,输出:My name is zhangsan print(name.count("n"))#输出字符串中“n”的个数。 输出:3 print(name.center(50,"-"))#字符串放中间,输出50个字符,不够用“-”来补。输出:---------------my name is zhangsan---------------- print(name.endswith("san"))#判断字符串最后一个或多个字母是不是引号里的内容,正确输出True,否则False。输出:True print(name.find('name'))#查找引号里的内容在字符串中的位置。输出:3 print(name[name.find('name'):10])#可以用来截断。输出:name is
names="my name is {name} and {year} years old" print(names.format(name='zhangsan',year=22))#格式化字符串。输出:my name is zhangsan and 22 years old print('aa11'.isalnum())#判断是否都是阿拉伯数字或字母。输出:True print('aa11!'.isalnum())#输出:False print('1a'.isdigit())#判断是否都是数字。输出:False print('11'.isdigit())#输出:True print('1a'.isidentifier())#判断是否是合法标识符(变量名) print('A1 B2'.istitle())#判断是否为标题(首字母为大写) print('+'.join(['1','2','3']))#输出:1+2+3 print(names.ljust(50,"*"))#输出50个字符,字符串不够位,后面补*。输出:my name is {name} and {year} years old************ print(names.rjust(50,"!"))#输出50个字符,字符串不够位,前面补!。输出:!!!!!!!!!!!!my name is {name} and {year} years old print(names.lower())#字符串全部小写。输出:my name is {name} and {year} years old print(names.upper())#字符串全部大写。输出:MY NAME IS {NAME} AND {YEAR} YEARS OLD
p=str.maketrans("aszg",'1234') print("zhangsan".translate(p))#通过p字典来加密。输出:3h1n421n print('zhangsan'.replace('n','1',2))#用'1'代替字符串中的两个‘n'。输出:zha1gsa1 print('zhangsan'.rfind('a'))#倒序找出'a'的位置。输出:6 print('1+2+3+4'.split('+'))#用'+'作为分割符,把字符串转为数组。输出:['1', '2', '3', '4'] print("abababa".split('b'))#输出:['a', 'a', 'a', 'a']
三、列表
names = "ZhangSan LiSi WangWu YeLiu" names = ["ZhangSan","LiSi","WangWu",["Alex","Boy"],"YeLiu","LiSi","LiSi"] print(names[0:-1:2])#打印奇数位上的值 for i in names:#依次打印输出 print(i) import copy names2 = names.copy()#浅copy,第二层的数据不会被copy,可以用来创建联合账号 names2 = copy.deepcopy(names)#深copy,第二层的数据会被copy print(names) print(names2) names[2]="王五" names[3][0]="ALEX" print(names) print(names2) names2 =[1,2,3,4] names.extend(names2)#扩展数组 names.reverse()#反转数据 names.sort()#排序(As码排序) print(names.count("LiSi"))#统计名字的个数 names.clear()#清空数组 print(names) print(names.index("LiSi"))#找出李四的位置 print(names[names.index("LiSi")])#打印李四 #放数据: names.append("LeiFeng")#放最后一个 names.insert(1,"ZhongHua")#放第二个 #改数据 names[2]="HeGai" #删除 names.remove("YeLiu") del names[2] names.pop()#无下标默认删除最后一个数据,有下标则删除指定数据 print(names) print(names[0],names[2]) print(names[0:2])#顾头不顾尾 print(names[-2:])#取出后两个数据'''
四、元组
不可修改的列表
names=('alex','boy') #只有两个方法,count,index