zoukankan      html  css  js  c++  java
  • 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	ming".expandtabs(1))   #将	转换为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会去掉回车
    
    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)

     如何有颜色的打印一段话?

    1 name="xiaoming"
    2 age =  22
    3 print("welcome to china %s  your age is  33[32;1m%s33[0m"%(name,age))     #32,绿色  31,红色   42背景绿  41背景红
    4 
    5 
    6 welcome to china xiaoming  your age is 22
  • 相关阅读:
    Ubuntu自启动服务脚本
    坑(一)—— Django ORM 连接超时的坑
    logging模块详解
    端口扫描之nmap命令
    端口扫描之masscan扫描
    端口扫描之Scapy模块的使用
    端口扫描之开放端口扫描方式
    Android Studio导入Project、Module的正确方法
    ImportError: No module named 'requests'
    运行python程序
  • 原文地址:https://www.cnblogs.com/xiaodai12138/p/9018955.html
Copyright © 2011-2022 走看看