python数据类型2_string

python数据类型

string
  • python中使用单引号或双引号创建字符串,python中无字符概念,字符就是一个字符的字符串。

  • s[0] 访问字符,只读

  • + 字符串连接 * 字符串重复

  • in 和 not in 判断字符或字符串是否包含在 目标串 中。

  • ‘’’ 或 “”" 定义多行字符串,原样输出

  • 关于转义字符,计算机内存中存储时,是不存在的,\n到了内存就是13,这些转义字符只是程序员在代码中定义字符串时使用的。

  • 在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u

    在Python3中,所有的字符串都是Unicode字符串。

字符串长度
  • len(s)
字符串连接
  • 加号 +

  • join

    s.join(seq)

    seq–列表,元组之类的序列类型。

    作用:以s为分割符连接seq的各个元素

字符串分割
  • s.split(str="", num=string.count(str))

    若指定了num则s你被分割为num+1个。

    num可大于s中str的个数,不会报错,但num无效

  • s.splitline(keepends=false)

    按行分割,keepends表示是否保留换行符。

字符串截取
  • 切片

    s[2:6] (截取子串)

    2–起始位置,6–结束位置,包含开头,不含结尾(即“左闭右开”原则)

    开头省略默认为0,结尾省略默认为len(s)。

字符串查找
  • s.count(str,beg=0,end=len(s))

    在s中,beg与end指定的范围内,查找子串str,返回找到的次数。

  • s.find(str,beg=0,end=len(s)) 【rfind()】

    在s的指定范围内,查询str,并返回第一个str所在的位置,未找到时返回-1.

  • s.index(str,beg=0,end=len(s)) 【rindex()】

    同find,只不过找不到时会报异常: ValueError: substring not found

字符串替换
  • s.replace(old,new,max)

    用new替换s中的old,max指明最多替换次数,默认全部替换

字符串修剪
  • s.strip( c=" " ) 删除s左右两侧的空格,或指定字符
  • s.lstrip( c=" " ) 删除s左侧的空格,或指定字符
  • s.rstrip( c=" " ) 删除s右侧的空格,或指定字符
其他方法
  • s.capitalize() 字符串第一个字符转化为大写

  • s.title() 每个单词首字母大写,其余小写

  • s.lower() 所有大写转小写

  • s.upper()

  • s.swapcase() 大小写转换

  • s.center(width,fillChar=" ")

    将字符串s用fillChar指定的字符填充为width指定的长度,s居中。

    width小于len(s)时,不会报错,s依然原样输出。

  • s.ljust(width,fillChar=" ")

    参数与center相同,s左对齐

  • s.rjust(width,fillChar=" ")

    参数与center相同,s右对齐

  • s.zfill(width)

    右对齐,前填0

  • s.encode()

  • s.decode()

  • s.expandtabs(tabsize=8) 以tabsize指定的空格数,替换 \t

  • s.translate()

    intab = "aeiou"
    outtab = "12345"
    trantab = str.maketrans(intab, outtab)   # 制作翻译表
     
    str = "this is string example....wow!!!"
    print(str.translate(trantab))
    
  • -----------------------------------------查询字符串--------------------------------------

  • s.endswith(str, beg=0, end=len(s))

    s的beg至end片段内(左闭右开),是否已str结尾

  • s.startswith(str, beg=0, end=len(s))

    s的beg至end片段内(左闭右开),是否已str开头

  • s.isalnum()

    当返回真时,s至少有一个字符,且仅由字母或数字组成。

  • s.isalpha()

    必须有字符,且全是字母

  • s.isdigit()

    必须有字符,且全是数字字符

  • s.isnumeric()

    类似于isdigit(),但isnumeric()好像可以包含Unicode数字,如:\u00B2 就是 平方

  • s.isdecimal() 检查字符串是否只包含十进制字符

  • s.islower()

    至少包含一个区分大小写的字符,且他们都是小写,(也就是可以由小写字符和不区分大小写的字符组成)

  • s.isupper()

  • s.isspace()

    必须有字符,且全是空格

  • s.istitle() 有字符,每个单词首字母大写,其余小写

  • s.max() s.min() 返回字符串中最大或最小的字符,好像没啥子卵用。

字符串格式化
  • 使用占位符 %

    例:

    s = "My name is %s,I am %d years old." % ("Lilei", 12)
    

    其中 %s %d 都是占位符,

    • %s 表明此处应替换为一个字符串(“Lilei”)

    • %d 给定数字,以十进制整数显示,浮点数直接抹去小数部分。

    • %c 给一个字符,或字符的ASCII码,不能给出多个字符,会报错。

    • %o 是 “欧” 不是 ”零“,给定数字以8进制显示

    • %x 以16进制显示 小写 abcde

    • %X 以16进制显示 大写 ABCDE

    • %f 显示浮点数,默认显示6位小数,第六位由第七位 四舍五入(如果有的话)

    • %e 以科学记数法显示数值,同样默认小数点后四舍五入到6位

    • %E 同e,不过E大写 如 :6.355E+07

    • %g %f和%e的简写

    • %G

    辅助指令:

    • m 指定长度 %3d 表示当给定数值不够3位时,在数字左侧补空格,使其达到3位,当给定数值大于3位时,指定的长度3无效。

    • .n 指定小数点位数,用于f或e

    • - 表示左对齐 如: %-5d 如需补空格是在右侧补

    • 0 表示在数字前面填 0 而非空格,但如果是左对齐,是不会在右侧补0的。

    • + 正数前面显示 + 号

    • < sp> 正数前面显示空格,用于与负数保持对齐。

  • 使用f-string

    s = f"{x+1}" 字符串前加f,会计算字符串中{}内的表达式,并用结果替换大括号

转义字符
转义字符描述
\(在行尾时)续行符
\\反斜杠符号
\’单引号
\"双引号
\a响铃
\b退格(Backspace)
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy 代表的字符,例如:\o12 代表换行,其中 o 是字母,不是数字 0。
\xyy十六进制数,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出
原字符串
  • r/R 定义原始字符串,使字符串中转义字符不转义,原理:自动的把字符串中的 \ 替换为 \\
  • repr( s ) r/R只能用在引号前面,s可以是引号定义的字面量,也可以是字符串变量
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值