Python 命名规则:1. 字母、数字、下划线组成,不能以数字开头区分大小写 2. 下划线和大写字母开头的标识有特殊意义 3. a.单下划线开头标识符_xxx 不能用于from xxx import *,即保护类型只能允 许其本身与子类进行访问 b.__xxx双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了,连子类也不可以 c.大写字母开头的在Python中一般表示类比如:People 4. python当中的保留关键字不能作为变量名使用 格式化字符串:%d,%i 十进制 %s格式化字符串 %o八进制 %f浮点数 %%输出% 运算符: +、-、*、/、 %取余 //取整 **幂 Input函数:字符串类型 索引和切片:1、切片是建立在索引之上 2、切片的表达式为[start_index : end_index : step],解释: 开始索引:结束索引:步长值 3、步长分正负 正步长从左往右取,负步长从右往左取 4、步长值不写默认为1 5、能取到开始索引,取不到结束索引 6、开始或结束索引没有值则取两头,到底取哪一头看step步长值为正还是负,步长正负取的方向参考第3条 7、步长值为1就是挨个取,步长值为3就是隔2个取一个 字符串: 1、capitalize():首字符大写 2、count():统计具体字符出现的次数 3、join():把集合中的字符按自定义的分隔符连接在一起 4、split():把字符串通过指定标识符进行分割 5、strip(ab):删除字符串开头和结尾有a或b的字符 6、lstrip(ab):删除字符串开头有ab序列字符 7、rstrip(ab):删除字符串结尾有ab序列字符 8、startswith():判断字符串是否以什么开始 9、endswith():判断字符串是否以什么结束 10、find()/rfind():字符串查询find()是左边开始查,rfind()从右边开始查,结果 显示下标 11、replace():replace(substring,newstring,max)substring表示被替换的字符串,newstring要替换字符串,max表示替换的次数 12、lower():方法转换字符串中所有大写字符为小写 13、upper():将字符串中的所有小写字符转换为大写字母输出 14、isdigit():判断字符串中是否全为数字 15、isalpha():判断字符串中是否全为字母 16、isalnum():判断字符串当中是否全都为数字,全为字母,或者数字字母组合返回布尔值:True和False 如果有特殊符号就是否 17、istitle():判断字符串中首字母是否为大写,其他是否为小写,其他不为小写则为否 18、isupper()/islower():is开头的就是判断一个字符串是否展示为都是大写或者都是小写 列表:1.list1[0]修改索引为0的值 2.list1.insert(index,string)在指定位置插入一个列表成员 3.list2.extend(list1)把列表1追加到list2 4.list2.append() 追加一个成员在末尾 5.list2.remove() # 删除一个成员 元组:注意元组的成员不能被修改,但是元组的列表成员是拥有列表的属性和方法可以被修改 可以通过切片或者索引对元组里面的列表进行修改,且也可以通过元组转换为列表来进行对应的操作 字典:字典 dict 键值成对存在 fori in dict1.keys(): # 通过键找值 print(dict1) fori in dict1.items(): # 遍历拿到键值对 print(i) fori in dict1: # 遍历拿到键 print(i) dict1.setdefault() 插入一个键值对,如果键存在则不生效,如果不存在则会创建但如果没有设置值会为none dict1[key]= value 插入一个键值对 deldict1[key] 删除键值对,注意删除键后值也会被删除 dict1.clear() 清空字典所有键值对 dict1.get(key)通过get方法获取键对应的值 注意:如果键存在返回值,不存在返回none dict1.pop(key) 删除一个键值返回对应的值 dict1.fromkeys(["key","key", "key"]) 初始化所有的键 in 判断键是否在字典中 dict1.__contains__判断键是否在字典中 dict1.popitem() popitem默认删除最后字典最后一个键值对 集合:集合主要作用就是去重 set1= set(list) 将列表转换为集合并且去重 set1.add()增加一个成员 set1.remove() 删除一个成员 set1.pop()默认删除一个成员并且有返回值 set1.clear()清空集合 frozenset={}不可变的集合 所有集合的方法都不可用 循环:While循环求某一区间偶数的和 def even_sum(start, end, i): sum1 = 0 while i <= end: if i % 2 == 0: sum1 += i i += 1 print(sum1) rang(start,end) 表示某一区间的int整数类型 For循环: for n in range(10): if n == 2: continue print(n) continue跳过当前循环继续执行 for nin range(5): if n == 1: break print(n) break终止当前循环 函数分为内置函数和自定义函数 内置函数为python自带的函数 自己定义的函数叫自定义 函数 关键字是def deffunc(): print("你好") func() 不带参数的函数 deffunc2(name, age): print("我叫"+ name + "今年" + age + "岁") func2("鑫鑫", "21"))带参数的函数 deffunc3(*name): print(name) func3("离地", "ll", "xx") *代表元组 deffunc4(**vi): for k, v in vi.items(): print(k, v) **代表的是字典 注意:如果字典和元组同时存在的时候会默认字典放在后面 局部变量和全局变量局部变量:作用于函数内部 全局变量:作用于全局,每一个函数都能调用 可以用将局部变量加golobal关键字可以让它作用于全局如果和全局变量同名,则会覆盖它 格式化字符串formata ="{}*{}={}".format("i", "j", "i*j") b ="{0}{1}{0}".format("hello", "world") 设置索引位置输出 设置参数输出 c ="姓名:{name},年龄:{age}".format(name="duoceshi",age=18) 列表进行格式化 list1 =["xx", "ww"] d ="你好:{0},你:{0[1]}".format(list1) 对字典进行格式化, 注意:要加可变长 dict2 ={"name": "zs", "age": 18} e ="姓名:{name},年龄:{age}".format(**dict2) 对文件的操作: 一般分为三步: 1. 打开文件 open(r“url“,”r”) 第一个r代表防止被转义,第二个r代表的是可读 2. 以什么方式去操作文件r 读,w 写,a追加 3. 关闭文件 close() txt=file.writelines() 按行写 txt=file.write() 写入 txt=file.readlines() 按行读 txt=file.readline() 一行一行读 模块print(time.time()) #从1970到到现在的秒 print(time.ctime())# time.sleep(2)#延时执行 print(time.asctime()) #转换为asc码显示时间 print(time.strptime("Y"-"m"-"d"-"H"-"M"-"s")) print(time.strftime("%Y-%m-%d-%H-%M-%S")) #格式化时间 按需导入 fromtime import time,ctime,sleep,strptime random模块random.random()#该方法是生成0-1之间的浮点数,但是能取到0,但是取不到1 random.randint(x,y)#该方法生成指定范围内整数,包括开始和结束值 random.randrange(x,y,step)#生成指定范围内的奇数,不包括结束值 random.randrange(x,y,step)#生成指定范围内的偶数,不包括结束值注意要设置步长 random.sample(seq,n)#从序列seq中选择n个随机且独立的元素 random.choice(test)#生成随机字符 random.shuffle(list)#洗牌(随机数列) hashlib.md5() MD5加密 md5= hashlib.md5() md5.update('你好'.encode('utf-8')) print(md5.hexdigest()) os模块中常见的方法os.getcwd()获取当前执行命令所在目录 os.path.isfile()判断是否文件 python中os模块os.path.isdir() #判断是否是目录 os.path.exists()#判断文件或目录是否存在 os.listdir(dirname)#列出指定目录下的目录或文件 os.path.split(name)#分割文件名与目录 os.path.join(path,name)#连接目录与文件名或目录 os.mkdir(dir)#创建一个目录 os.rename(old,new)#更改目录名称 re模块正则预定义字符集匹配: \\d:数字0-9 \\D:非数字 \\s:空白字符 \n:换行符 \r:回车符 re模块数量词匹配: 符号^:表示的匹配字符以什么开头 符号$:表示的匹配字符以什么结尾 ```符号*:匹配*前面的字符0次或n次 ``` eg:ab* 能匹配a 匹配ab 匹配abb 符号+:匹配+前面的字符1次或n次 符号?:匹配?前面的字符0次或1次 符号{m}:匹配前一个字符m次 符号{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是 正整数 re.match()挨个匹配,匹配到就返回,匹配不到就报错 re.search() 默认从第一个字符开始找找到就直接返回值 如果找不到就会报错 强制执行一次 re.findall()找到所有相关的字符或者字符串直到全部找到就会结束 找不到返回空列表 re.compile()返回值为一个对象,如果不加and 会把全部字符找到并且会自动拼接,如果有and默认找到最后一个返回,如果找不到则返回一个列表 string模块string.digits #返回0-9的数字 str1=string.ascii_letters #返回26个英文字符的大小写
|