python基础2
一、模块初识
分类:
1) 标准库:直接导入的不需要下载安装,一般都存在lib下
2) 第三方库:需要下载安装才能使用,一般都存在site-packages下
sys:
print(sys.path)---->打印环境变量。 注意:python2下,这个是错误的,因为sys这个文件下并没有path这个函数。
print(sys.argv)
print(sys.argv[0])
os :
cmd_res = os.system("dir") 直接输出到屏幕,cmd_res=0代表命令执行成功,不保存结果。
cmd_res = os.popen("dir")
print(cmd_res) 打印内存地址
cmd_res = os.popen("dir").read() 通过read方法从内存某一个地方取出来
print(cmd_res)
os.mkdir("new_dir") 创建目录
二、三目运算符
a = b if c>d else e
如果 c > d 那么 a = b,否则 a = e。
三、字符串操作
1 # Author : Lyr 2 3 4 name = "Lyr is so clever" 5 6 print(name.capitalize()) #首字母大写 7 8 print(name.count("r")) #统计某个字母个数 9 10 print(name.center(50,"-")) #一共打印五十个字符,不够的用-补全居中 11 12 print(name.endswith("er")) #判断某个字符串是否以某个字符串结尾 13 14 print(name.find("sod")) #查找某个字符串是否在该串中,如果存在返回某个字符串开头的索引,如果不存在返回-1 15 16 print(name[name.find("so"):11]) #字符串的切片 17 18 name = "Lyr is clever {too_too}".format(too_too="too_too") 19 20 print(name.isalnum()) #判断是否是阿拉伯数字 21 22 print("123".isdecimal()) #判断是否是十进制数 23 24 print("123".isdigit()) #判断是否是整数 25 26 print("d123".isidentifier()) #判断是不是一个合法的变量名 27 28 print("d123".islower()) #判断首字母是不是小写 29 30 print("123".isnumeric()) #判断是不是只有数字组成等同于isdigit 31 32 print("123".isspace()) #判断是不是空格 33 34 print("1a23".istitle()) #判断字符串中是否含有大写字母 35 36 print("A123".isprintable()) #判断是不是可打印的 #tty file,drive file 37 38 print("a123".isupper()) #判断首字母是否大写 39 40 print(",".join(['1','2','3','4'])) #列表转成字符串 41 42 print(name.ljust(50,'*')) #字符串不够一定的长度用某个字母在右侧补全 43 44 print(name.rjust(50,'*')) #字符串不够一定的长度用某个字母在左侧补全 45 46 print(name.lower()) #字符串全部变为小写 47 48 print(name.upper()) #字符串全部变为大写 49 50 print(" Lyr ".lstrip()) #去除左边的空格 51 52 print(" Lyr ".rstrip()) #去除右边的空格 53 54 print(" Lyr ".strip()) #去除两边的空格 55 56 p = str.maketrans("abcdef","123456") #前后长度一样,依次对应 57 58 print("abdefg".translate(p)) #result:12456g 59 60 print(name.replace("r","R",1)) 61 62 print(name.rfind("y",0,11)) #从0到11找y的索引 63 64 print(name.split("is")) #把字符串按某个字符串分割返回列表 65 66 print("1+2\n+3+4".splitlines()) #把字符串按换行符分割返回列表 67 68 print("Lyr".swapcase()) #大写变小写 69 70 print(name.title()) #首字母都变成大写 71 72 print(name.zfill()) #自动补零
四、列表
1)为什么要引入列表呢?
当我们有很多很多的员工姓名要存起来的时候,就目前学到的知识,我们要定义很多个变量去分别存每个员工的姓名,但是我们这样会累死的,而且会被开除了哈哈哈,这时候我们的列表就派上用场了,可以把它们全部存到一个列表里面,相当于我们c++或者java学的数组。存储较为方便,看起来也比较美观。
2)列表的操作
增加,删除,修改,查询,复制,切片,合并,循环输出等。
1 # Author : Lyr 2 3 names = ["ZhangYang","GuYun","XiangPeng","XuLiangChen"] 4 5 print(names) 6 7 print(names[0],names[2]) 8 9 print(names[1:3]) #切片 10 11 print(names[-1]) #切片 12 13 print(names[-2:-1]) 14 15 print(names[-2:]) #倒数两个 16 17 print(names[0:2]) #与下一个结果相同 18 19 print(names[:2]) 20 21 #增加两种(insert,append) 22 names.append("LeiHaiDong") #追加到末尾 23 24 print(names) 25 26 names.insert(1,"ChenZhongHua") #插入到某个位置 27 28 names.insert(3,"XinZhiYu") 29 30 print(names) 31 32 #修改 33 names[2] = "XieDi" 34 35 print(names) 36 37 #删除操作两种(remove,del,pop) 38 names.remove("ChenZhongHua") 39 40 print(names) 41 42 del names[1] 43 44 print(names) 45 46 names.pop(1) 47 48 print(names) 49 50 #查询某个元素的位置 51 print(names.index("LeiHaiDong")) 52 53 names.insert(1,"ZhangYang") 54 55 #计数某个元素的次数 56 print(names.count("ZhangYang")) 57 58 #反转 59 names.reverse() 60 61 print(names) 62 63 #对列表进行排序(按ascii排序规则) 64 names.sort() 65 66 print(names) 67 68 #合并列表 69 names2 = [1,2,3,4] 70 71 names.extend(names2) 72 73 print(names) 74 75 #删除列表 76 77 del names2 78 79 #复制列表,只复制第一层(浅copy) 80 81 82 names3 = names.copy() #names元素改变,names3对应位置的元素不会变 83 84 print(names3) 85 86 name4 = ["Lyr","LXL"] 87 88 names.insert(1,name4) 89 90 print(names3) 91 92 names[1][1] = "ZJH" 93 94 print(names3) 95 96 name4[1] = "LXL" 97 98 print(names) 99 100 import copy 101 102 #深copy 需要导入copy模块 103 names3 = copy.deepcopy(names) 104 105 #列表循环 106 107 for i in names: 108 print(i) 109 110 #跳着输出 111 112 for i in names[0:-1:2]: #0,-1可省 113 print(i)
总结:
增加:
insert()
append()
删除:del()
pop()
remove()
修改:list[] = "" 查询:list[index] 复制:copy() 合并:extend 反转:reverse() 排序:sort()
五、元祖
和列表相似,但是只有计数和获取下标,对应的是count和index。
六、字典
1) 粗略的定义相当于c++或者java的映射,key-value键值对,每个key对应一个value。
2) 字典的操作:
增加,删除,修改,查询,循环等操作。
1 # Author : Lyr 2 3 #字典是无序的没有index 4 #创建 5 info = { 6 'stu1101': "TengLan Wu", 7 'stu1102': "LongZe Luola", 8 'stu1103': "XiaoZe Maliya", 9 } 10 11 print(info) 12 13 #查询字典里面必须存在 (2种查询方法) 14 print(info["stu1101"]) 15 16 print(info.get("stu1103")) 17 18 #通过某个key修改,当key存在时,就修改,如果没有该key就创建一条 19 info["stu1104"] = "武藤兰" 20 21 print(info) 22 23 #删除(3种) 24 del info["stu1104"] 25 26 info.pop("stu1103") 27 28 #随机删除 29 info.popitem() 30 31 #查看某个key是否在该字典里 32 print("stu1102" in info) 33 34 35 b = {"stu1101":"lyr", 36 1:3, 37 2:4} 38 info.update(b) 39 40 print(info) 41 42 print(info.items()) #将字典换成列表的形式 43 44 c = dict.fromkeys([6,7,8],[1,{"name":"lyr"},444])#初始化一个字典,如果有多层的话 ,你修改一个元素,显示全部修改了 45 c[7][1]["name"] = "Jack" 46 print(c) 47 48 #字典的循环 49 for i in info: 50 print(i,info[i])
总结:
增加:当修改某个key-value时,如果该key不存在,他就会增加到字典中。dic[key] = value。
删除:del,pop()
修改:dic[key] = new_value,该key必须存在。
查询:dic.get(key)--->value
循环:for i in dic:
print(i,dic[i])
3)字典的常用函数:
除了上面的一些,例如:dic.keys() 打印所有的key值。
dic.values() 打印所有的value值。
dic.setdefault(key,new_value) 查看这个字典里面有没有这个key,有就返回,没有就创建新的。
如果你喜欢小编写的东西,那就请点点赞吧!!!
上一篇: 数组去除重复的几个方法
下一篇: 从端到云:全面解析云计算安全策略