- 模块
1 import os 2 #调用操作系统的操作 3 4 os.system("dir") 5 #结果为乱码,因为输出结果编码不是windows的utf-8 6 #结果是在cmd中运行dir得到的结果 7 8 cmd_res = os.system("dir")#执行命令,不保存结果,结果直接输出到屏幕 9 print("--->",cmd_res)#结果为0,意为命令执行成功与否的状态,即失败 10 11 cmd_res = os.popen("dir").read()#结果临时存放到内存中,需要read()来读取 12 print("--->",cmd_res)#结果为内存的对象地址 13 14 os.mkdir("new_dir")#在当前目录下创建一个新的文件夹
1 import login #仅从当前目录下,或全局变量即site-package文件夹下寻找 2 ‘‘‘ 3 当程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时, 4 Python解释器则将PyCodeObject写回到pyc文件中 5 当Python程序第二次运行的时候首先程序会在硬盘中寻找pyc文件,如果找到则直接载入,否则重复上述过程 6 ‘‘‘
1 import sys 2 #模块名一定不能为sys 3 print(sys.path)#功能为打印环境变量 4 #上述语句结果为路径列表,得到的路径为模块或python内部调用的路径 5 6 print(sys.argv)#打印相对路径,后面可添参数 7 8 print(sys.argv[2])#可通过列表形式读取参数
- 数据类型
1 a,b,c=1,3,5 2 3 d = a if a>b else c 4 print(d) 5 6 #三元运算:如果条件为真:result=值1,否则,result=值2 7 #python 3.x中文本都是str,二进制数据则有bytes类型表示 8 #python 3.x不会以任意方式混用str和bytes 9 #既无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然) 10 #二进制转换为字符串,使用decode方法(解码) 11 #通过网络传输数据时,字符串必须转换为二进制,使用encode方法(编码) 12 13 msg=‘我爱你‘ 14 15 print(msg) 16 print(msg.encode())#(=msg.encode(‘utf-8‘))若使用时没有指定编码,则使用utf-8 17 print(msg.encode().decode(encoding=‘utf-8‘))#同上,若使用时没有指定编码,则使用utf-8
- 列表
1 #作者:king 2 names = ["FangChao","JiangLai","MaRui","JianHao","ZanWei"] 3 names.append("SongFangJie")#append追加,在列表结尾添加 4 names.insert(1,"JianHao")#insert插入,1为插入的位置 5 names.insert(3,"JinQiuYang")#python不能批量插入,只能一次次进行 6 names[3] = "WuYiFan"#修改列表内容 7 print(names) 8 #print(names[0],names[2]) 9 #print(names[1:3])#切片:起始位包括,结束位不包括(顾头不顾尾) 10 #print(names[-1])#从列表右侧开始取值 11 #print(names[-2:])#读取时从左往右,此处为取列表后两位 12 #print(names[0:3])#=names[:3] 13 #names.remove("WuYiFan")#直接删除“WuYiFan” 14 #del names[3]#通过下标位置删除 15 #names.pop()#默认删除最后一位元素 16 #names.pop(3)#输入下标则删除指定位置 17 #print(names) 18 print(names.index("ZanWei"))#index函数返回查找元素的位置 19 print(names[names.index("ZanWei")]) 20 21 print(names.count("JianHao"))#统计列表中同名元素的个数,如“JianHao” 22 #names.clear()#清除列表中所有元素 23 #print(names) 24 names.reverse()#反转列表 25 print(names) 26 names.sort()#按顺序排序列表,默认升序 27 print(names) 28 names2=[1,2,3,4] 29 names.extend(names2)#将extend()中的列表与前面的列表合并 30 del names2 31 print(names) 32 print(names2)
列表的copy相关
#作者:king import copy names = ["FangChao", "FangJiangLai", "SongFangJie", ["alex", "jack"], "MaRui", "ChengJianHao"] #name2 = names.copy()#copy为浅copy,仅复制第一层, # 若列表包含第二或其他层,则只复制其他层的内存地址 # 即更改第二层内容拷贝的列表的第二层也被拷贝 #name2 = names#指向同一个内存,即更改其中一个列表,全部改变 ‘‘‘ a=[1,2,3] b=a a[1]=555 b=[1,555,3] ‘‘‘ #name2 = copy.copy(names)#等同于列表中copy ‘‘‘name2 = copy.deepcopy(names)#深度copy print(names) print(name2) names[5] = "陈建豪" names[3][0]="ALEX" print(names) print(name2)‘‘‘ for i in names: print(i) for i in range(1,10,2): print(i) print(names[0:-1:2])#跳切列表元素 print(names[::2])#0,-1可以被省略,效果同上 print(names[:])#若省略步长,则打印列表中所有元素
- 元组
1 #作者:king 2 3 names = ("king","jin")#元组只能读取,不能增删改 4 #希望值不能被改变的情况下使用元组 5 names.count() 6 names.index()
- 字符串
1 #作者:king 2 name = ‘my name \tis {name} and i am {year}‘#字符串1 3 4 print(name.capitalize())#首字母大写 5 print(name.count("a"))#统计字符串2在字符串1中出现的次数 6 print(name.center(50,"-"))#一共打印50个字符,若字符串字数不足,则有后面的字符补充完整 7 print(name.endswith("ng"))#若字符串1以字符串2结尾,则返回True 8 print(name.expandtabs(tabsize=30))#将字符串中的tab转换为n个空格 9 print(name.find(‘name‘))#将字符串2在字符串1中所在第一个位置返回 10 print(name[name.find(‘name‘):])#find函数多用于字符串切片 11 print(name.format(name=‘king‘,year=18))#将变量传入参数从而传入字符串 12 print(name.format_map({‘name‘:‘king‘,‘year‘:18}))#将字典传入字符串 13 print(‘king923‘.isalnum())#是否仅包含阿拉伯数字或字母 14 print(‘king923‘.isalpha())#是否为纯英文字符,不区分大小写 15 print(‘1A‘.isdecimal())#是否为十进制 16 print(‘89‘.isdigit())#是否为整数 17 print(‘king923‘.isidentifier())#判断是否为合法的表示符(变量名 ) 18 print(‘1aA‘.islower())#判断字符串中字母是否全为小写 19 print(‘1.123‘.isnumeric())#判断是否仅含数字 20 print(‘king 923‘.isspace())#判断字符串是否为空格 21 print(‘My Name Is‘.istitle())#字符串是否每个单词首字母大写 22 print(‘My Name Is‘.isprintable())#是否可打印,与tty file,drive file有关 23 print(‘My Name Is‘.isupper())#是否全为大写 24 print(‘+‘.join([‘1‘,‘2‘,‘3‘]))#将某个字符放入后面的列表中各个元素之间,使之成为字符串 25 print(name.ljust(50,‘*‘))#是字符串长度为50,不足则在字符串右边加上后面的字符 26 print(name.rjust(50,‘*‘))#是字符串长度为50,不足则在字符串左边加上后面的字符 27 print(‘King‘.lower())#使字符串由大写变为小写 28 print(‘King‘.upper())#使字符串由小写变为大写 29 print(‘\nKing\n‘.lstrip())#去除字符串左边的空格或回车 30 print(‘\nKing\n‘.rstrip())#去除字符串右边的空格或回车 31 print(‘\nKing\n‘.strip())#去除字符串两边的空格或回车 32 p = str.maketrans("abcdef",‘[email protected]#$%^‘) 33 print("fedcba".translate(p))#明文密文的使用 34 print(‘kingnn‘.replace(‘n‘,‘N‘,1))#替换函数,将字符串中的所选字符替换为另外的字符,后面数字指替换的个数,若无特指,则全部替换 35 print(‘kingn‘.rfind(‘n‘))#字符串从左往右查找,返回最右边被查找字符的位置 36 print(‘1+2+3+4‘.split(‘+‘))#将字符串按所选字符分割转换为列表,默认字符为空格 37 print(‘1+2\n+3‘.splitlines())#将字符串按换行符分割转换为列表 38 print(‘King Jin‘.swapcase())#字符串大小写逆转 39 print(‘King Jin‘.title())#字符串转换为标题,各单词首字母大写 40 print(‘asdf‘.zfill(50))#字符串不够位数时在字符串左侧添加0
- 字典
1 #作者:king 2 3 #key_value 4 info = { 5 ‘stu1101‘:‘king‘, 6 ‘stu1102‘:‘fang‘, 7 ‘stu1103‘:‘ma‘ 8 }#字典是无序的 9 10 print(info["stu1101"])#查 11 print(info.get("stu1104"))#有则返回值,没有则返回none 12 print(‘stu1104‘ in info)#info.has_key("stu11-4") in py2.x 判断key是否存在字典中 13 14 info[‘stu1101‘] = "武藤兰" 15 info[‘stu1104‘] = "苍老师"#存在就修改,不存在就添加一条新的键值对 16 print(info) 17 18 #del info["stu1101"]#删 del是python内置函数 19 info.pop(‘stu1101‘)#出栈 20 info.popitem()#随机删除字典中的键值对 21 print(info) 22 23 print(info.values())#输出所有值 24 print(info.keys())#输出所有key 25 26 info.setdefault("stu1101","www.360.com") 27 info.setdefault("stu1102","www.baidu.com")#在字典中查找key,若未找到则添加新的键值对,若找到则返回 28 29 b = { 30 ‘stu1101‘:‘qiu‘, 31 1:3, 32 2:5 33 } 34 info.update(b)#将两个字典合并,若有相同的key,则更新前个字典key所对的值,若没有相同的,则添加新的键值对 35 print(info) 36 37 print(info.items())#将字典转为列表 38 39 c = dict.fromkeys([6,7,8,9,10],[1,{"name":"king"},999])#创建一个新的字典,key为之前列表中的值,值为后面的参数 40 print(c)#由下面实验可得,创建的新字典中,多个key指向同一个值,则修改一个值的同时,全部改变 41 42 c[7][1][‘name‘]=‘Jin‘ 43 print(c) 44 45 for i in info: 46 print(i,info[i])#更高效 47 48 for k,v in info.items(): 49 print(k,v)
二层嵌套字典
1 #作者:king 2 av_catalog = { 3 "欧美":{ 4 "www.youporn.com": ["很多免费的,世界最大的","质量一般"], 5 "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"], 6 "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"], 7 "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"] 8 }, 9 "日韩":{ 10 "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"] 11 }, 12 "大陆":{ 13 "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"] 14 } 15 } 16 17 av_catalog[‘大陆‘][‘1024‘][1]="可以在国内做镜像" 18 19 print(av_catalog)
- 三级菜单
1 #作者:king 2 3 data = { 4 ‘北京‘:{}, 5 ‘山东‘:{ 6 "青岛":{}, 7 "济南":{} 8 }, 9 ‘广州‘:{ 10 "东莞":{}, 11 "常熟":{}, 12 "佛山":{} 13 }, 14 ‘安徽‘:{ 15 ‘安庆‘:{‘振风塔‘,‘迎江寺‘}, 16 ‘合肥‘:{‘包公祠‘,‘天鹅湖‘}, 17 ‘淮南‘:{‘吃的‘,‘好吃的‘} 18 } 19 } 20 21 exit_flag = False 22 23 while not exit_flag: 24 for i in data: 25 print(i) 26 27 choice = input("选择进入>>:") 28 if choice in data: 29 while not exit_flag: 30 for j in data[choice]: 31 print("\t",j) 32 choice2 = input("选择进入2>>:") 33 if choice2 in data[choice]: 34 while not exit_flag: 35 for m in data[choice][choice2]: 36 print("\t\t",m) 37 choice3 = input("选择进入3>>:") 38 if choice3 in data[choice][choice2]: 39 for n in data[choice][choice2][choice3]: 40 print("\t\t\t",n) 41 choice4 = input("最后一层,按b返回>>") 42 if choice4 == "b": 43 pass 44 elif choice4 == ‘q‘: 45 exit_flag = True 46 if choice3 == ‘b‘: 47 break 48 elif choice3 == ‘q‘: 49 exit_flag = True 50 if choice2 == ‘b‘: 51 break 52 elif choice2 == ‘q‘: 53 exit_flag = True
- 购物车实例
1 #作者:king 2 3 product_list = [ 4 (‘Iphone‘,5800), 5 (‘Mac Pro‘,9800), 6 (‘Bike‘,800), 7 (‘Watch‘,10600), 8 (‘Coffee‘,31), 9 (‘Alex Python‘,120), 10 ] 11 shopping_list = [] 12 salary = input("Input your salary:") 13 if salary.isdigit():#若果输入内容为整数,则为真 14 salary = int(salary) 15 while True: 16 for index,item in enumerate(product_list):#效果同下语句,输出列表的下标 17 #print(product_list.index(item),item) 18 print(index,item) 19 user_choice = input("选择需要的商品>>>:") 20 if user_choice.isdigit(): 21 user_choice = int(user_choice) 22 if user_choice < len(product_list) and user_choice >= 0: 23 p_item = product_list[user_choice] 24 if p_item[1] <= salary:#可以购买 25 shopping_list.append(p_item) 26 salary -= p_item[1] 27 print("Added %s into shopping cart,your current balance is \033[31;1m%s\033[0m" %(p_item,salary)) 28 #"\033[31;1m%s\033[0m"输出红色字符串,若32则为绿色,需死记 29 else: 30 print("\033[41;1m你的余额仅剩[%s],请剁手\033[0m" % salary)#效果为背景红色 31 else: 32 print("商品[%s]不存在" % user_choice) 33 elif user_choice == ‘q‘: 34 print("--------shopping list--------") 35 for p in shopping_list: 36 print(p) 37 print("Your current balance:",salary) 38 exit() 39 else: 40 print("invaild option")
Python学习Day2
Posted king95923
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习Day2相关的知识,希望对你有一定的参考价值。
以上是关于Python学习Day2的主要内容,如果未能解决你的问题,请参考以下文章