zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python全栈工程师(字符串/序列)[通俗易懂]

Python工程师序列 通俗易懂 字符串 全栈
2023-06-13 09:12:11 时间

大家好,又见面了,我是你们的朋友全栈君。

ParisGabriel

Python 入门基础

字符串:str 用来记录文本信息 字符串的表示方式: 在非注释中凡是用引号括起来的部分都是字符串 ‘’ 单引号 “” 双引号 ”’ ”’ 三单引 “”” “”” 三双引 有内容代表非空字符串否则是空字符串

区别: 单引号内的双引号不算结束符 双引号内的单引号不算结束符 三引号内的换行会自动转换为换行符 三引号内可以包含单引号和双引号

隐式字符串拼接:

s = "I'm a I'm a programmer" 'heoll "wored"'

转移符: \’ 单引号 \” 双引号 \\ 单反斜杠 \n 换行 \r 返回光标至行首 \t 水平制表符 \v 垂直制表符 \f 换页 \b 倒退 \0 空字符,字符值为0 \xXX ,XX为两位16进制表示的自符 \uXXXX ,XXXX为4个16进制的Unicode16字符 \UXXXXXXXX ,8个16进制表示的Unicode32字符

ASCII编码: man ASCII :查看帮助文档命令

常用ASCII编码: 字符 十进制 十六进制 0 48 0x30 A 65 0x41 a 97 0x61

Unicode: 统一编码,分为Unicode16、Unicode32

序列的概念: 字符串就是序列 函数: len(x) 返回字符串的字符个数 raw 字符串: 让转义符号\无效 格式: r‘字符串内容’ print(r“\n\\\t”) 字符串的运算: + 用于拼接字符串 * 用于生成重复字符串 字符串的相乘只能与整数 += *= 与其他符合运算符相同 in / not in 运算符: 用于判断某个字符串是否在 相当于字符串出现过 如果出现过返回true 否则返回false 字符串的比较运算: > >= < <= == != 依次按照编码进行比较,直到最短字符串结束为止

索引(下标): Python的字符串是不可以改变字符序列的

index: 字符串[整数表达式] Python序列都可以用索引来访问序列中的对象 Python的序列正向索引是冲0开始的最后一个索引为len(s)-1 Python序列的反响索引是从-1开始的 -1是最后一个 第一个是 -len(s)

切片: slice 从一个字符串序列中取出相应的元素重新组成一个字符串系列 语法: 字符串序列[(开始索引b):(结束索引e):(步长s)] 小括号括起的部分代表可省略 说明: 开始索引是切片开始切下的位置,0代表第一个元素,1代表第二个,-1代表最后一个 结束索引是切片的终止索引(但不包括终止点) 步长: 是切片每次获取当前元素后移动的方向和偏移量 没有步长,相当于取值完成后向右移动一个索引的位置默认1 当步长代表为正数时取正向切片 步长默认为1 开始位置为0 结束为len(s)步长代表下一次索引的取值增长值 当步长为负数时 取反向切片 默认的起始位置是最后一个元素,终止位置是第一个元素的前一个位置

Python3中常用于序列函数: len(x)返回序列长度

max(x)返回序列最大值元素

min(x)返回序列最小止元素

字符串编码转换函数: ord(c)返回一个字符的Unicode值(十进制)

chr(i)返回 i这个整数的值所对应的字符

整数转字符串函数: bin(i) 将整数转换为二进制的字符串

oct(i) 将整数转换为八进制的字符串

hex(i) 将整数转换为十六进制的字符串

二进制转换其他进制是非常好转的 如图:

100=4 101=5 10=2 156=0o452 (八进制)

1100=c 1001=9 156=0x9c (十六进制)

字符串的构造函数: str(obj=“”) 将对象转换为字符串

常用的字符串方法: 文档参见: 对象.方法名(方法传参) “abc”.isalpha() # 语法是对的 123.isalpha() # 语法是错的 方法 说明 S.isdigit() 判断字符串中的字符是否全为数字 S.isalpha() 判断字符串是否全为英文字母 S.islower() 判断字符串所有字符是否全为小写英文字母 S.isupper() 判断字符串所有字符是否全为大写英文字母 S.isspace() 判断字符串是否全为空白字符 S.center(width[,fill]) 将原字符串居中,左右默认填充空格 width:所居中字符串的长度 fill:默认填充空格

S.count(sub[, start[,end]]) 获取一个字符串中子串的个数 sub:所要获取的字符串 start:起始位置 end:结束位置 S.find(sub[, start[,end]]) 获取字符串中子串sub的索引,失败返回-1 start:起始位置 end:结束位置

S.strip() 返回去掉左右空白字符的字符串 S.lstrip() 返回去掉左侧空白字符的字符串 S.rstrip() 返回去掉右侧空白字符的字符串 S.upper() 生成将英文转换为大写的字符串 S.lower() 生成将英文转换为小写的字符串 S.replace(old, new[, count]) 将原字符串的old用new代替,生成一个新的字符串 count:更换的次数 S.startswith(prefix[, start[, end]]) 返回S是否是以prefix开头,如果以prefix开头返回True,否则返回False, S.endswith(suffix[, start[, end]]) 返回S是否是以suffix结尾,如果以suffix结尾返回True,否则返回False

以下是不常用的 S.title() 生成每个英文单词的首字母大写字符串 S.isnumeric() 判断字符串是否全为数字字符

练习: 1. 输入一个字符串用s绑定 判断输入有几个人空格 将原字符串的左右空格空白符去掉 打印剩余的字符个数 判断输入的是否是数字 如果是数字判断这个数是否大于100

答案:

print("Answer to question 1:", "\n")

s = input("plaese input at will string:")
print("you input string blank have ", s.count(" "))
print("string surplus:", len(s.strip()))
if s.isdigit() is True:
    if int(s) > 100:
        print("input integer:", s, ">100")
    else:
        print("input integer:", s, "<100")
else:
    print("you input contain alpha:", s)

2. 输入3行文字,让这三行文字在一个方框内居中显示 显示如下: +—————+ | hello | | 123123 | |       | +—————+ 注:请不要输入中文

答案:

print("Answer to question 2:", "\n")

a = input("plaese input at will string 1:")
b = input("plaese input at will string 2:")
c = input("plaese input at will string 3:")
top = a
if top < b:
    top = b
if top < c:
    top = c
print("+" + "-" * (len(top) * 2 + 10) + "+")
print("|" + a.center(len(top) * 2 + 10) + "|")
print("|" + b.center(len(top) * 2 + 10) + "|")
print("|" + c.center(len(top) * 2 + 10) + "|")
print("+" + "-" * (len(top) * 2 + 10) + "+")

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/156094.html原文链接:https://javaforall.cn