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位字符责在字段后面用@填充(abc@@@@@@@)
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)

猜你喜欢

转载自www.cnblogs.com/xiaodai12138/p/9018955.html