python3 格式化输出,字符串操作,模块,列表,元组
Posted xiaodai12138
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 格式化输出,字符串操作,模块,列表,元组相关的知识,希望对你有一定的参考价值。
初识python,在网上看了老男孩的视频,建立一个博客将自己所学的python知识记录下来。
input加密,用于输入密码的阶段。
1 import getpass 2 user = input("username:") 3 passwd = getpass.getpass("password:")
格式化输出
1 name = input("name:") 2 age = int (input("age:")) 3 job = input("job:") 4 5 info = ‘‘‘ 6 __________________%s info_____________________ 7 name=%s 8 age=%s 9 job=%s 10 ‘‘‘% (name,name,age,job) 11 12 info2 = ‘‘‘ 13 __________________{_name} info2_____________________ 14 name={_name} 15 age={_age} 16 job={_job} 17 ‘‘‘.format (_name=name, 18 _age=age, 19 _job=job) 20 21 info3 = ‘‘‘ 22 __________________{0} info3_____________________ 23 name={0} 24 age={1} 25 job={2} 26 ‘‘‘.format(name,age,job)
print("info",info)
print("info2",info2)
print("info3",info3)
info
__________________xiaoming info_____________________
name=xiaoming
age=22
job=it
info2
__________________xiaoming info2_____________________
name=xiaoming
age=22
job=it
info3
__________________xiaoming info3_____________________
name=xiaoming
age=22
job=it
字符串操作
1 name = "xiaoming" 2 3 print(name.count("i")) #打印变量中有几个i 4 print(name.capitalize()) #首字母大写 5 print(name.casefold()) #大写全部变小写 6 print(name.center(50,"-"))#字符串需要有50位,如果不够,用“-”补齐(---------------------xiaoming---------------------) 7 print(name.encode()) #将字符串转换为二进制编码 8 print(name.endswith("g")) #判断字符串结尾是否为"g",如果是,责返回True,不是责False 9 print("xiao\tming".expandtabs(1)) #将\t转换为1个空格位 10 print("My name is {user}".format(user="xiaomgang")) #格式化输出(My name is xiaomgang) 11 print(name.find("o")) #在字符串中找到"o"的下标 12 print("My name is {name}".format_map({‘name‘:‘xiaogang‘})) #格式化输出V2 13 print("1".isdigit()) #判断是否为整数 14 print("1abcde".isalnum()) #如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False 15 print("eEEFAEFXCFCX".isalpha()) #判断是否为a-y ,A-y 16 print("19".isdecimal()) #如果字符串是否只包含十进制字符返回True,否则返回False。 17 print("1 2 3".index("3")) #返回3的位置,空格也算,这里返回的7 18 print("abc".islower()) #判断是否为小写英文字符 19 print("1".isnumeric()) #如果字符串中只包含数字字符,则返回 True,否则返回 False 20 print("EFAFADS".isprintable()) #检查字符是否可以打印 21 print(" ".isspace()) #判断是否为空格 22 print("my".isidentifier) #判断字符是否可作为变量名称 23 print("Abc".istitle()) #如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False. 24 print("BBB".isupper()) #如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False 25 print("-".join({‘xiaoming‘,‘xiaomei‘,‘xiaogang‘})) #将"-"作为分隔符,结果(xiaogang-xiaoming-xiaomei) 26 print("abc".ljust(10,‘@‘)) #如果不够10位字符责在字段后面用@填充([email protected]@@@@@@) 27 #rjust #在字段前增加 28 print("111111my name is111 xiaoming 11111".strip(‘1‘)) #去除头尾字符,中间的不会动,如果参数不加‘1‘责去除空行(my name is111 xiaoming ) 29 print("1111111abc111111".lstrip(‘1‘)) #返回截掉字符串左边的空格或指定字符后生成的新字符串。#不加1会去掉回车\n 30 #rstrip #截掉右边指定的字符 31 print("AbCdE".lower()) #返回将字符串中所有大写字符转换为小写后生成的字符串(abcde) 32 p=str.maketrans(‘abcde‘,‘12345‘) 33 print("hello my name is xiaoming ".translate(p)) #abcde对应着12345,print一个字符串时引用上面的策略,(h5llo my n1m5 is xi1oming) 34 print("my name is xiaoming".partition(‘name‘)) #将"name"特别标识起来,左右的字符也标识起来(‘my ‘, ‘name‘, ‘ is xiaoming‘) 35 print("My Name is XiaoMing".swapcase()) #大小写互换(mY nAME IS xIAOmING) 36 print("my name is xiaoming and my dog is wangcai".replace(‘is‘,‘Is‘,1)) #将is转换为Is,只转换从左至右的第一个匹配到的,如果将1删除,将匹配所有is更改为Is(my name Is xiaoming and my dog is wangcai) 37 38 print("my name is xiaoming".zfill(40)) #字符如果不够40位,从左边用"0"补齐(000000000000000000000my name is xiaoming)
列表
1 import copy #列表中数据之间的copy 2 3 4 5 6 names= ["xiaoming","xiaogang",["daming","damei"],"xiaomei","xiaohong"] 7 for i in names[::-3]: #切片打印 8 print(i) 9 names2 = copy.deepcopy(names) #深copy,copy一次被copy的变量的值后,不受其他因数影响,不会变更,可以理解为,赋值一次,永久存在 10 names[0] = "小明" 11 names2= names.copy() #浅copy,列表中可以套列表,浅copy是将第一层的列表数据copy过来,当第一层列表更改后,就无法copy了,更改数据后就不是第一层列表了。 12 names[2][0] = "DAMING" 13 print(names) 14 print(names2) 15 16 print(names[0],names[-1],names[0:2],names[-2:-1],names[:3],names[-2:]) #分别是,打印第一段,最后一段,最后2段,开头段也就是0段到第二段的数据不包括xiaohong,,倒数第二段到最后一段的数据的数据([‘xiaomei‘, ‘xiaohong‘]) 17 print(names.count("xiaoming")) #打印变量中有几个"xiaoming" 18 print(names.index("xiaoming")) #打印变量中的值在第几位(python中的记位方式:0,1,2,3....) 19 names.clear() #清除列表中的所有的值 20 names.insert(0,"xiaolizi") #插入一段数据,将原先在第一位的"xiaoming"挤到第二位 21 names2=["daming","damei"] 22 names.extend(names2) #在names变量中扩展加入names2变量中的值, 扩展后结果: [‘xiaoming‘, ‘xiaogang‘, ‘xiaomei‘, ‘xiaohong‘, ‘daming‘, ‘damei‘] 23 names.pop(0) #删除第一个段 24 names.remove("xiaoming") #根据字段名称删除一个段 25 del names[0] #删除第一个字段 26 names.reverse() #翻转,翻转后的结果:[‘xiaohong‘, ‘xiaomei‘, ‘xiaogang‘, ‘xiaoming‘] 27 names.sort() #排序,优先级依次是:特殊符号-》数字-》大写-》小写 测试的结果:[‘#xiaoming‘, ‘1xiaomei‘, ‘Xiaogang‘, ‘xiaohong‘] 28 names.append("xiaogangpao") #在最后一行加入一个段
元组中的参数是不可变的,一次定义数据后,后期只能查询无法增加。
1 test=("xiaoming","xiaogang","xiaohong") #元组,只能查询 2 test2=[["xiaoming"],["xiaogang"]] 3 test2.append(["xiaomei"]) 4 select=test.index("xiaohong") 5 print(test2,test,select) 6 结果:[[‘xiaoming‘], [‘xiaogang‘], [‘xiaomei‘]] 7 (‘xiaoming‘, ‘xiaogang‘, ‘xiaohong‘) 8 2
模块的认识
1 import os #可调用系统命令在系统中执行操作 2 import sys 3 4 print (sys.path) #打印命令查找路径,如linux中的echo $PATH 5 print(sys.argv) #打印执行此命令的文件的绝对路径 ([‘E:/TEST/test.py‘]) 6 print(sys.argv[0]) #结果E:/TEST/元组test.py 通过这个方式可以直接获取到绝对路径从而cd进去 7 abc=os.system("dir") #通过os模块调用系统命令dir查看当前目录下的内容,值无法保存至变量中,按照这种方式保存,abc的值会是0 代表执行成功 8 abc2=os.popen(‘dir‘).read() #将dir读取的内容存储到abc2变量中,可以进行存储 9 os.mkdir("new_file") #在执行文件同级目录创建一个文件 10 print("--------",abc,abc2)
以上是关于python3 格式化输出,字符串操作,模块,列表,元组的主要内容,如果未能解决你的问题,请参考以下文章