"""数字类型常用函数""" #print(pow(2,3,8)) #2的立方 对8取余 #print(round(4.123456,5)) #返回浮点数4.123456的四舍五入 ,保留五位小数 # import math # print(math.ceil(4.000001)) # 5 向上取整 # print(math.floor(4.021544)) # 4 向下取整 舍弃小数部分 """随机模块""" #import random #导入随机模块 #mynum = ['1',3,3] #print(random.choice(mynum)) # choice的对象可以是元组 列表 或字符串 #print(random.choices(mynum,k=1)) #以列表的形式返回一个对象的多个随机项 默认为1 #print(random.randrange(0,10)) #返回指定递增基数集合中的一个随机项 返回0到9之间一个随机数 递增基数默认为1 #print(random.randint(0,5)) #返回指定递增基数集合中的一个随机项,范围0到5 #mylist = [1,2,3] #random.shuffle(mylist) #只能用于列表 #print(mylist) """字符串常用函数""" #mystr = '12335' #print(mystr.isnumeric()) # 判断字符串是否全由数字组成,是返回True 不是返回False # str.join(seq) # seq可以是字符串 列表 元组 字典 集合 但列表元组字典集合的元素必须是字符串 #mystr = 'abcdef' #print('-'.join(mystr)) #将字符串以 '-' 作为分隔符 组成一个新的字符串 #mylist = ['1','2'] #print('-'.join(mylist)) # 将列表中的字符串元素以'-' 为连接符 组成一个字符串 #mytuple = ('1','2') #print('-'.join(mytuple)) # 将元组中的字符串元素以'-' 为连接符 组成一个字符串 #myset = {'1','2'} #print('-'.join(mydict)) # 将集合 中的字符串元素以'-' 为连接符 组成一个随可变符串 #mydict = {'a':'1','b':'2','c':'3'} #print('-'.join(mydict)) #将字典中的键以'-'作为链接符组成一个字符串 ### str.ljust(width,[,filchar]) str.rjust(width,[,filchar]) str.center(width,[,filchar]) # mystr = 'abcdef' # print(mystr.ljust(10,'2')) # print(mystr.rjust(10,'2')) # print(mystr.center(11,'2')) #mystr = 'aabbccdd' # print(mystr.lstrip('a')) # print(mystr.rstrip('d')) #print(mystr.strip('a')) # 去除两侧指定字符 默认去除空白字符 #print(chr(65)) #将数字转化为对应字符 #print(ord('a')) #将字符a转化为对应数字 #mystr = 'aaabbbccc' #print(mystr.replace('a','3')) # 可指定替换个数 默认替换全部 #mystr = 'aaabbbcccaaa' # 返回找到的索引值 #print(mystr.find('a')) #print(mystr.find('a',3,5)) #指定查找位置 #print(mystr.rfind('a',)) # 11 #mystr = 'aabbcc' #print(mystr.split('b')) # 返回一个列表 #print(mystr.split('b')[0]) # 'aa' # mystr = """This is my # house from waide # """ # print(mystr) # """This is my # house from waide""" # print(mystr.splitlines(True)) #['This is my\n', 'house from waide'] #返回一个列表,将换行符作为分割 # 参数给True 将换行符一起返回,不给则新字符串没有换行符 # 大小写转换 #str = 'aAbBcC' #print(str.upper()) #print(str.lower()) #print(str.swapcase()) ###字符串取值 #mystr = 'abcdef' # print(mystr[0]) #取第一个值 #print(mystr[4]) #e #正着取从0开始 #print(mystr[-4]) #c #倒着取从1开始 #print(mystr[0:]) #取所有 #print(mystr[1:3]) #取第一和第二个值 不包含尾下标 bc #print(mystr[2::-1]) #从尾下标2开始倒着取值 cba #print(mystr[4:1:-1]) #从尾下标4开始 倒着取到尾下标2 edc #print(mystr[-1:-4:-1]) #fed """列表""" #mylist = ['a','b','c','v','d'] #print(mylist[-2:-4:-1]) #['v', 'c'] #print(mylist[3:1:-1]) #['v', 'c'] #print(mylist[2:4:-1]) # [] #print(mylist[4:2:-1]) #['d', 'v'] #倒着取头下标要大于尾下标 #print(mylist[2::-1]) #['c', 'b', 'a'] ### 浅拷贝与深拷贝 import copy #mylist = [['tfz','微信','xxxxxx'],['qq','124','566']] #mylist1 = mylist.copy() #mylist2 = copy.deepcopy(mylist) #mylist[0][2] = '182xxxxxxx' #mylist.append('新增') #print(mylist1) #print(mylist2) #print(mylist) #print(mylist is mylist1) # False #print(mylist is mylist2) #False 说明拷贝并不是引用自同一个对象 """元组""" #mytuple = () #print(type(mytuple))# <class 'tuple'> """集合""" #myset = set() # 空集合 #print(myset) #print(type(myset)) #set1 = {1,2,3,4,5} #set2 = {7,2,36,8,3,4} #print(set1 - set2) # 返回set2中没有的值 {1,5} #print(set1 | set2) # {1, 2, 3, 4, 5, 36, 7, 8} 并集 #print(set1&set2) # {2,3,4} 交集 #print(set1^set2) # {1, 36, 5, 7, 8} 去除交集后的元素 ##去重复 # mylist = [1,2,3,4,2,3,1] # a= set(mylist) # print(a) # print(type(a)) # # mylist = list(set(mylist)) #去重复之后在变回列表 """字典""" # mydict = {} #空字典 #myDict = {'name': 'tfz', 'age': '25', 'sex': "男"} # 取值 #print(myDict['name']) # 'tfz' #print(myDict['职业']) # KeyError: '职业' 没有这个键 报错 #print(myDict.get('name')) #print(myDict.get('职业',2)) #不存在 返回2 默认返回None # 改值 #myDict['name'] = 'cc' #print(myDict) ##字典常用函数 # myDict.items() # 返回一个可迭代序列 # mylist = [] # for i in myDict.items(): # mylist.append(i) # print(mylist) # [('name', 'tfz'), ('age', '25'), ('sex', '男')] # print(mylist[0]) #('name', 'tfz') # print(mylist[0][0]) # 'name # 获取字典的键 # myDict.keys() # mylist = [] # for i in myDict.keys(): # mylist.append(i) # print(mylist) ['name', 'age', 'sex'] # 获取字典的值 # myDict.values() # # mylist = [] # for i in myDict.values(): # mylist.append(i) # print(mylist) #['tfz', '25', '男'] # myDict1 = {'heigh':'175'} # # myDict.update(myDict1) #将myDict1 加到myDict里 # print(myDict) # myDict.pop('age') # 将age对应的值返回调用处 # print(myDict) #{'name': 'tfz', 'sex': '男'} #print(myDict.popitem()) #将最后一个键值对移除 并返回调用处 """装饰器""" # import functools # def demo(arg): # @functools.wraps(arg) # def inner(age): # print('打印我') # str = '' # if age<=10: # str = '1' # if age<=20: # str = '2' # if age <=30: # str = '3' # else: # str = '4' # return arg(str) # print(arg is inner) # False # return inner # # @demo # def func(x): # print('输出{}'.format(x)) # func = demo(func) #func(26) """列表推导式""" #myDcit = {'name':'tfz','age':'25','sex':'man'} # #mylist =[x for x in myDcit.items()] #print(mylist) #[('name', 'tfz'), ('age', '25'), ('sex', 'man')] #mylist = [x for x in range(3) for y in range(4)] #print(mylist)#[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2] ###字典推导式 # myDcit = {'name': 'tfz', 'age': '25', 'sex': 'man'} # # myDcit1 = {k:v for k, v in [('a', '1'), ('b', '2')]} # print(myDcit1) # {'a': '1', 'b': '2'} '''生成器''' # def func(): # print(1) # yield 'a' # print(2) # yield 'b' # a = func() # print(next(a)) # print(next(a)) # print(next(a)) # 下面的结果和上面不同 # print(next(func())) # print(next(func())) # print(next(func())) ### 上面的结果一直输出 1 a # def func(): # print('a') # return 1 # # b = func() #a # #func() #a # print(b) """将函数调用赋值给一个变量的时候 该变量的值是函数的返回值 没有返回值则为 None""" """ OS模块""" import os #print(os.name) # nt #print(os.listdir()) # 以列表的形式返回当前目录的所有文件和目录 #path = r'E:\Python1804\201804/' #print(os.listdir(path)) # 可指定路径 #print(os.path.isfile(path)) # False 不是文件 #print(os.path.isdir(path)) # True 是目录 #print(os.path.isfile(path='./1.py')) # True #是文件 #size = os.path.getsize('./1.py') # 获取文件大小 返回字节数 #print(size) #a = os.environ # 获取当前所有的环境变量 #print(a) #mylist = [x for x in os.environ.items()] #print(mylist) #a = os.environ.get(path) #获取指定路径的环境变量 #print(a) #print(os.curdir) # 获取当前工作目录 #print(os.getcwd()) # 获取当前工作目录的绝对路径C:\Users\Administrator\PycharmProjects\201805\20180510复习 # a = os.path.join(path, '1.py') # 拼凑路径 # print(a) path = r'C:/Users/Administrator/PycharmProjects/201805/20180510复习/1.py' # print(os.path.basename(path)) # 获取文件名 # print(os.path.dirname(path)) # 获取文件的目录名 #print(os.path.splitext(path)) # 将文件扩展名与文件名分开 可通过此获取文件扩展名 # ('C:/Users/Administrator/PycharmProjects/201805/20180510复习/1', '.py') # print(os.path.splitext(path)[1])# 获取文件扩展名 # print(os.path.exists(path)) # True 判断文件是否存在 # os.mkdir('./mu') # 在当前目录创建目录 可指定路径去创建 文件存在时不能创建 # os.rmdir('./mu') # 删除目录 必须是空目录 #print(os.path.abspath(path)) # 获取绝对路径 #print(os.path.split(path)) #('C:/Users/Administrator/PycharmProjects/201805/20180510复习', '1.py') #上面的将文件名和目录名分开 """将列表当作堆栈使用""" stack = [] # 先进 # stack.append('a') # stack.append('b') # stack.append('c') # stack.append('d') # #print(stack) # #后出 # print(stack.pop()) #d # print(stack.pop()) #c # print(stack.pop()) #b # print(stack.pop()) #a # from collections import deque # mylist = deque() # #先进 # mylist.append('a') # mylist.append('b') # mylist.append('c') # mylist.append('d') # #后出 # print(mylist.popleft()) # print(mylist.popleft()) # print(mylist.popleft()) # print(mylist.popleft()) import re line = "g Cats are smarter than dogs" matchObj = re.match(r'(.*) are (.*?) .*', line, re.M | re.I) if matchObj: print("matchObj.group() : ", matchObj.group()) print("matchObj.group(1) : ", matchObj.group(1, 2)) print("matchObj.group(2) : ", matchObj.group(2)) print("matchObj.groups() : ", matchObj.groups()) else: print( "No match!!")
python 基础 Number String List Tuple Diction nary
最新推荐文章于 2022-10-14 14:30:24 发布