• 循环和字符串使用


    格式化输出

    %02d 表示该整型数占空两位,不够高位补0 0:补0 , 2:占空2位

    %-05d 左对齐

    数23: %05d >>00023 %-05d >>>23 占空5格,数字放高位,后面不会再补0

    %.2f 表示保留两位小数

    伪三目运算

    将if else 语句强制性写在一行的一个简单运算

    result1 if 判断条件 else result2

    result可以是一个语句,也可以是一个值

    判断真假科普

    a=    # 假:0 False None "" [] {} () 真:" ",非0number..... 

    if a:

    print("真")

    else:

    print("假")
    print(6 and 8)
    >>8
    print(6 or 8)
    >>6

    循环语句

    while循环之else

    while 判断条件:

    循环语句

    else:

    循环语句

    while循环正常结束时,else语句正常执行;非正常结束时,else语句不执行,例如break跳出循环属非正常

    注: while 条件:语句 当循环语句只有一条时,可以写在一行

    for循环之else

    同while

    使用环境:

    没有给定循环次数时,使用while循环

    给定循环具体次数,用for循环方便

     

    字符串拼接

    1.使用 "," 拼接,会在逗号处产生一个空格

    2.使用 "+"拼接,要求数据类型必须相同

    3.格式化输出 %

    4.使用函数拼接 " ".join(seq) 拼接,要求序列中元素必须为字符串

    例: "*".join(list1) 以" * "连接.

    字符串重复输出:

    str1*n 将str1重复输出n次

    获取字符串中的字符

    str1[index] 通过索引值(下标)进行获取.索引从0开始

    取值范围[0,len(str1))

    索引为负数,则从右往左取

    字符串截取

    str1[start : end : step]

    start: 默认0,不给该参数,则从下标0开始

    end : 默认len(str1),不给参数则取到末尾

    取值范围[start,end)

    字符串反转: str1[: : -1]

    注意: str对象不支持项赋值 ( str[0]="x" :不支持该操作)

    判断包含指定字符

    str1 in str2 判断str1是否是str2的字符串

    字符串常用函数

    内置函数:

    eval(str1) : 将字符串转为有效的表达式并且返回计算的结果 具体就是去掉引号

    len(str1) 返回字符串长度

    字符串函数: (操作完后返回的是一个新的字符串)

    str1.lower() 将字符串中所有大写字母转为小写字母

    str1.upper() 将字符串中所有小写字母转为大写字母

    str1.swapcase() 将字符串中大写变小写,小写变大写

    str1.capitalize() 将字符串中的第一个字符转为大写,其他都小写

    str1.title() 将字符串中每个单词首字母大写,其他都小写

     

    str1.center(50," * ") 返回一个50长度的字符串,str1居中,两边补*

    str1.ljust(50," * ") 居左 str1.rjust(50," * ") 居右

    str1.zfill(width) 返回一个width长度的字符串 ,str1右对齐,前面补0

     

    str1.count(子串,start,end) 统计 子串 在指定范围内出现的次数,若不指定范围,则统计整个字符串

    str1.find(子串,start,end) 在str1中查找 字串,若存在则返回子串第一个字母第一次出现时所在下标,若找不到,则返回-1

    str1.rfind() 从右往左查找

    str1.index() 作用同str1.find,若找不到,则报错

     

    str1.lstrip(子串) 去掉左边指定的字符,若不指定,则默认去掉空白符[ , , ," "]

    str1.rstrip(子串) 去掉右边指定的字符,若不指定,则默认去掉空白符[ , , ," "]

    str1.strip(子串) 去掉两边指定的字符,若不指定,则默认去掉空白符[ , , ," "]

    字符串的分割替换

    str1.split(子str,maxsplit=3) 参数可以不写maxslipt 以指定的子字符串str对str1进行切片,若不指定字符串,则默认以空白符进行切. maxsplit=3:最大切割次数;若不指定,则全部切片. 返回结果以列表list形式显示

    str1.splitlines(keepends=False) 按行切片,keepends=true:保留换行符;False默认,不保留

    str1.join(seq) 以指定字符串作为分隔符,将序列中的所有元素合并为一个新字符串 (序列中的元素必须为字符串) 返回一个新的字符串

    str1.replace(子串,新串,count) 将str1中子串替换为指定的新字符串,count 为替换个数,替换前几个;若不指定,则全部替换

    str.maketrans(oldstr,newstr) 映射替换 translate()

    str1.startswith("str2",start,end) 在给定范围内,判断字符串是否以给定的字符串开头,若不指定范围,则默认整个字符串

    str1.endswith("str2",start,end) 在给定范围内,判断字符串是否以给定的字符串结尾,若不指定范围,则默认整个字符串

    str1.encode(encoding="utf-8",errors="scrict") 对字符串编码,若不指定encoding则默认utf-8

    str1.decode(encoding="utf-8") 对字符进行解码,若不指定编码格式,默认utf-8,例如: "hello".encode("utf-8").decode() 注意:解码时的编码格式要与编码时一致, errors = ignore 的时候,忽略错误

    判断是否为字母或数字

    str1.isalpha() 判断字符串至少有一个字符,且所有的字符都是字母,若真返回True,否返回False [不考虑中文]

    str1.isalnum() 判断字符串至少有一个字符,若所有字符都是字母或数字,真则返回True,否返回False [不考虑中文]

    判断大小写

    str1.isupper() 若字符串中包含至少一个字母的字符,若这些字母都是大写,则返回True,否False

    str1.islower() 若字符串中包含至少一个字母的字符,并且这所有的字母都是小写,则返回True,否False

    判断是否包含特殊字符

    str1.istitle() 如果一个字符串是标题化的,则返回True,否则返回False (标题化: 每个首字母大写 例:"Hello Word")

    str1.isdigit() 只识别阿拉伯数字,罗马数字

    str1若为: Unicode数字("1"), byte数字(单字节)(b"1"), 全角数字(双字节)("1"), 罗马数字 返回True; 若为: 汉字,字母等其他,返回False; 若为无: error

    str.isnumeric() 识别阿拉伯数字,汉字数字(包括大小写:一,壹)

    若字符串中只包含数字,则返回True,否返回False; str1若为: Unicode数字, 全角数字(双字节), 罗马数字, 汉字数字 返回True; 若为: byte数字(单字节),error; 若为无: False

    str1.isdecimal() 只识别阿拉伯数字

    判断str1是否只包含十进制字符,是True,否False; str1若为: Unicode数字,全角数字(双字节)返回True; 若为 罗马数字,汉字数字 返回False; 若为 byte数字 :error

    str.isspace() 若果字符串只包含空格 ,则返回True(" ", , , ),否则返回False

    ASCLL码转换

    ord(str1) 获取字符的ASCLL值 例:A-->65 "你"-->20320

    chr(68) 将编码转换成对应的字符 例: 68-->D 20190-->"仞"

     

    字符串的大小比较

    实际上是比较字符串的ASCII码, 比较时先比较第一个字符,若相等则比较第二个字符,以此类推.

    例:"a">"b" >>False "a"<"b" >>True

     

    作者: Deaseyy

    出处: http://www.cnblogs.com/Deaseyy/

    新手一枚,请大佬们多多赐教!

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

  • 相关阅读:
    iptables防火墙-SNAT和DNAT
    exists & in
    系统演化之路
    promethue 采集traefik指标列表
    Grafana中变量
    Wireshark抓包
    http协议格式 基于ABNF语义定义
    Prometheus 管理常用知识点
    python时间转换
    通过salt-api获取minion的ip地址
  • 原文地址:https://www.cnblogs.com/Deaseyy/p/10859696.html
Copyright © 2020-2023  润新知