python字符串
字符串 string
-
字符串操作
字符串的内容几乎可以包含任何字符,英文字符也行,中文字符也行。
字符串既可用单引号括起来,也可用双引号括起来
-
假如字符串内容中包含了单引号,则可以使用双引号将字符串括起来
-
语法内涵双引号,用单引号括,内涵单引号,用双引号括,否则语法错误
-
如果内包含单引号,双引号 使用反斜线 \ 在要转义引号前使用
拼接字符串
长字符串可以使用三引号括起来
字符串紧挨在一起,python会自动拼接,如果使用逗号会变成两个字符串,但是不能真正用于拼接字符串。
+ 号来拼接字符串运算符
整数转换字符串:str()是python内置类型 repr()是函数,如果拼接整数跟字符串需要先把整数转换成字符串 str()或repr()
repr()另一种功能:输出会以python表达式形式来表示值 交互式模式下python会自动使用repr()函数处理该变量或表达式。
允许使用 \ 来转义长字符串来换行,转义之后不会影响输出 对于个别算法也可以转行
原始字符串 r :由于 \ 在python中特殊的,比如路径python会把看作 \ 来处理,可以在字符串前面加入r,python就不会把反斜线当成特殊字符。 或使用 \
原始字符串包含的引号,同样需要转义
字符串的内容几乎可以包含任何字符,英文字符也行,中文字符也行。
字符串既可用单引号括起来,也可用双引号括起来
假如字符串内容中包含了单引号,则可以使用双引号将字符串括起来
语法内涵双引号,用单引号括,内涵单引号,用双引号括,否则语法错误
如果内包含单引号,双引号 使用反斜线 \ 在要转义引号前使用
input()函数
用户输入 input()
input()获取用户输入 input函数返回的总是字符串
python2 用raw_input()来获取用户输入
byets转换
bytes类型及用法
bytes 类型,用于代表字节串,字节串(bytes)由多个字节组成,以字节为单位进行操作。不可变序列
-
通过b前缀指定hello是bytes类型的值
-
调用bytes方法将字符串转成bytes对象 encoding = 'utf-8’指定编码格式
-
利用encode字符编码直接把字符串转成bytes对象
-
利用decode字符编码直接把bytes对象转成str对象
python转义字符及用法
\b 退格符,\n 换行符,\r 回车符,\t 制表符," 双引号,’ 单引号,\ 反斜线
\n 换行
\t 制表符 (一个\t相等于空格)
拼接字符串
长字符串可以使用三引号括起来
字符串紧挨在一起,python会自动拼接,如果使用逗号会变成两个字符串,但是不能真正用于拼接字符串。
+ 号来拼接字符串运算符
整数转换字符串
str()是python内置类型 repr()是函数,如果拼接整数跟字符串需要先把整数转换成字符串 str()或repr()
repr()另一种功能:输出会以python表达式形式来表示值 交互式模式下python会自动使用repr()函数处理该变量或表达式。
允许使用 \ 来转义长字符串来换行,转义之后不会影响输出 对于个别算法也可以转行
原始字符串 r :由于 \ 在python中特殊的,比如路径python会把看作 \ 来处理,可以在字符串前面加入r,python就不会把反斜线当成特殊字符。 或使用 \
原始字符串包含的引号,同样需要转义
python格式化字符串 %s
%s 逻辑:首先格式化字符串(相当于字符串模板),该格式化字符串中包含一个“%s”占位符,它会被第三部分的变量或表达式的值代替;第二部分固定使用“%”作为分隔符,称为转换说明符。
作用:作用相当于一个占位符,它会被后面的变量或表达式的值代替。“%s”指定将变量或值使用 str() 函数转换为字符串。
如果格式化字符串中包含多个“%s”占位符,应该提供与值对应的多个变量,并使用圆括号将这些变量括起来。
转换说明符:
在分隔符%后面可以指定字符串最小宽度为整型数
默认情况,转换出来的字符串总是右对齐的,不够宽度时左边补充空格
-:指定左对齐。符号:
-
d, i:转换为带符号的十进制形式的整数
演示:
- + 0
指定小数点后的数字位数:如果转换的是字符串,Python 允许指定转换后的字符串的最大字符数。这个标志被称为精度值10
python截取字符串(索引)
索引单个字符:
Python 字符串直接在方括号([])中使用索引即可获取对应的字符,字符串中第一个字符的索引为 0、第二个字符的索引为 1
倒着获取索引:最后一个字符的索引为 -1,倒数第二个字符的索引为 -2······依此类推。
截取范围内的字符:包括开头不包括结尾
使用范围来获取字符串的中间“一段”(被称为子串)
如果索引带-1 -1位置不会被取出,可以写作([起始位置:])
允许省略起始索引或结束索引。如果省略起始索引,相当于从字符串开始处开始截取;如果省略结束索引,相当于截取到字符串的结束处
倒着取范围从的大数到小数([-6:-3])
全局内置的 min() 和 max() 函数获取字符串中最小字符和最大字符。
检测字符串中占内存的字节。
获取字符串的长度,则可调用 Python 内置的 len() 函数。
可以指定范围检测
Python字符串大小写转换(3种)函数及用法
字符串由内建的 str 类代表
帮助查看教程:
dir():列出指定类或模块包含的全部内容(包括函数、方法、类、变量等),以“”开头、“”结尾的方法被约定成私有方法,不希望被外部直接调用
help():查看某个函数或方法的帮助文档。查看方法:help(str.lower)
在 str 类中与大小写常用方法:
title():将每个单词的首字母改为大写。
lower():将整个字符串改为小写。
upper():将整个字符串改为大写
Python去除字符串中空格(删除指定字符)的3种方法
str常用的方法来删除空白:
strip():删除字符串前后的空白。
lstrip():删除字符串前面(左边)的空白。
rstrip():删除字符串后面(右边)的空白。
删除字符串前后指定宇符:(警告如果两边有空格无法删掉字符,首先要去除空)
Python字符串操作(查找,替换,分割和连接)方法及其使用
判断:
startswith():判断字符串是否以指定子串开头,包含返回True,不包含返回False。
endswith():判断字符串是否以指定子串结尾,包含返回True,不包含返回False。
查询:
find():查找指定子串在字符串中出现的位置,如果查找的指定字串有多个返回第一个位置。如果没有找到指定子串,则返回 -1。 也可以在参数指定位置 s.find(‘n’,3)
index():查找指定子串在字符串中出现的位置,如果没有找到指定子串,则引发 ValueError 错误。
替换:
replace():使用指定子串替换字符串中的目标子串。可以指定替换几个该字串。
translate():使用指定的翻译映射表(所有字符编码)对字符串执行替换。
Python 为由类提供了一个 maketrans() 方法,通过该方法可以非常方便地创建翻译映射表。
分割:
str 的 split() 和 join() 方法互为逆操作。split() 方法用于将字符串分割成多个短语,而 join() 方法则用于将多个短语连接成字符串。
split():将字符串按指定分割符分割成多个短语。
根据空格来分割(可指定分割几个)
根据.点来分割(可指定分割几个)
连接:
str 的 split() 和 join() 方法互为逆操作。split() 方法用于将字符串分割成多个短语,而 join() 方法则用于将多个短语连接成字符串。
join():将多个短语连接成字符串。(前提是必须配合split来使用)
Python 身份运算符
is 和 not is 运算符可以判断两个对象是否相同
Python 成员运算符
in 运算符判断是否包含某个子串,包含返回True,不包含返回False not in不在 包含返回False,不包含返回True
Python isdigit() 方法检测字符串是否只由数字组成。
判断字符串是否包含元素
not in 判断字符串不包含该元素
Python赋值运算符
赋值运算符用于为变量或常量指定值,Python 使用“=”作为赋值运算符。通常,使用赋值运算符将表达式的值赋给另一个变量。
也可使用赋值运算利将一个变量的值赋给另一个变量
Python 的赋值表达式是有值的,赋值表达式的值就是被赋的值,因此 Python 支持连续赋值
赋值运算符还可用于将表达式的值赋给变量。
Python 的赋值运算符也支持同时对多个变量赋多个值。赋值运算符还可与其他运算符结合
程序把多个值赋给一个变量时,Python 会自动将多个值封装成元组。这种功能被称为序列封包。
程序允许将序列(元组或列表等)直接赋值给多个变量,此时序列的各元素会被依次赋值给每个变量(要求序列的元素个数和变量个数相等)。这种功能被称为序列解包。
同时把n个数据赋值给一个变量,是元组类型,叫做序列封包。
再创建多个跟n相对应的变量,并打印会看见程序自动把n个数据分配给相对应的变量叫序列解包。
元组:
列表:
可以实现交换变量的值:
在序列解包时可以解出部分变量,剩下的依然使用列表保存变量。
Python 允许在左边被赋值的变量之前添加“*”,那么该变量就代表一个列表,可以保存多个集合元素。
Python算数运算符
-
扩展后的赋值运算符:
+=:对于x += y,即对应于x = x + y。
Python算术运算符
Python 支持所有的基本算术运算符,这些算术运算符用于执行基本的数学运算,如加、减、乘、除和求余等
+:加法运算符
两个数相加-:减法运算符
两个数相减
变量可以求负 可以负负得正
*:乘法运算符
两个数相乘
同时可以复制多个字符串连接起来
/ 或 //:除法运算符
-
“/”表示普通除法,使用它除出来的结果与平常数学计算的结果是相同的(即除不尽时,会产生小数部分)
%:求余运算符
-
不要求求余运算符的两个操作数都是整数,支持对浮点数求余。
**:乘方运算符
-
“”作为乘方运算符,这是一个使用非常方便的运算符。由于开方其实是乘方的逆运算,因此实际上使用“”也可进行开方运算
Python位运算符
-
Python 支持的位运算符:
&:按位与。
Python bool类型
真(对),Python 使用 True 来代表,假(错),Python 使用 False 来代表。
比较运算符用于判断两个值(这两个值既可以是变量,也可以是常量,还可以是表达式)之间的大小,比较运算的结果是 bool 值(True 代表真,False 代表假)。
常量就是 程序运行中 不可以改变的量(数据)实际上 True 也可被当成整数 1 使用,False 也可被当成整数 0 使用。也就是说,True、False 两个值完全可以参与各种算术运算。
Python 比较运算符(关系运算符)
Python 支持的比较运算符
>:大于,如果运算符前面的值大于后面的值,则返回 True;否则返回 False。
>=:大于或等于,如果运算符前面的值大于或等于后面的值,则返回 True;否则返回 False。
<:小于,如果运算符前面的值小于后面的值,则返回 True;否则返回 False。
<=:小于或等于,如果运算符前面的值小于或等于后面的值,则返回 True;否则返回 False。
==:等于,如果运算符前面的值等于后面的值,则返回 True;否则返回 False。
!=:不等于,如果运算符前面的值不等于后面的值,则返回 True;否则返回 False。
is:判断两个变量所引用的对象是否相同,如果相同则返回 True。 is 要求两个变量引用同一个对象
引用同一个对象
is not:判断两个变量所引用的对象是否不相同,如果不相同则返回 True。
通过 id() 函数计算两个对象时返回相同的地址。
Python逻辑运算符
and:与,前后两个操作数必须都是 True 才返回 True;否则返回 False。
or:或,只要两个操作数中有一个是 True,就可以运回 True;否则返回 False;
为了保证逻辑运算的顺序,且有括号和没括号的输出结果是一样的,建议使用圆括号来提高程序的可读性。
not:非,只需要一个操作数,如果操作数为 True,则返回 False;如果操作数为 False,则返回 True。
Python三目运算符(三元运算符)
三目运算符的 if 语句的语法格式:
True_statements if expression else False_statements
三目运算符的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值;如果逻辑表达式返回 False,则执行并返回 False_statements 的值
两种方式:
正规方式:
控制台输出提示信息可以:a = 5 b = 3 c = 6 d = 5
Python 允许在三目运算符的 True_statements 或 False_statements 中放置多条语句。
多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组成的元组。
多条语句以英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值。
True_statements 为 print(“条件”),‘a大于b’,这两条语句都会执行,程序将会返回这两条语句的返回值组成的元组。
True_statements 包含两条语句,但程序只会返回第一条语句 print(”crazyit”) 的返回值,该语句同样返回 None,因此相当于 str 的返回值为 None。
由于 print() 函数没有返回值,相当于它的返回值是 None a = 5 b = 3 c = 6 d = 5
将语句中的逗号改为分号,将逗号之后的语句改为赋值语句。a = 5 b = 3 c = 6 d = 5
三目运算符支持嵌套,通过嵌套三目运算符,可以执行更复杂的判断
首先执行 a > c 成立print(‘a 大于等于 c’) 不成立执行else 因为嵌套下一层 执行下一层如果下一层if跟上一层else同时成立 直接打印print(‘a 小于等于 c’) 不成立执行elseprint(‘a 等于 c’)
第一层else 跟下一层if 不成立时:
第一层else 跟下一层if 同时成立时:
Python运算符优先级一览表
所有的数学运算都是从左向右运算。
单目运算符、赋值运算符和三目运算符是从右向左运算的。
乘法和加法是两个可结合的运算符,这两个运算符左右两边的操作数可以互换位置而不会影响结果。
运算符有不同的优先级,所谓优先级就是在表达式运算中的运算顺序。注意:使用“()”就可以改变程序的执行顺序,尽量使用“()”来控制表达式的执行顺序。
三目运算符支持嵌套,通过嵌套三目运算符,可以执行更复杂的判断
首先执行 a > c 成立print(‘a 大于等于 c’) 不成立执行else 因为嵌套下一层 执行下一层如果下一层if跟上一层else同时成立 直接打印print(‘a 小于等于 c’) 不成立执行elseprint(‘a 等于 c’)
第一层else 跟下一层if 不成立时:
[外链图片转存中…(img-yVshf873-1565610625201)]
第一层else 跟下一层if 同时成立时:
[外链图片转存中…(img-wOLraBkf-1565610625201)]
Python运算符优先级一览表
所有的数学运算都是从左向右运算。
单目运算符、赋值运算符和三目运算符是从右向左运算的。
乘法和加法是两个可结合的运算符,这两个运算符左右两边的操作数可以互换位置而不会影响结果。
运算符有不同的优先级,所谓优先级就是在表达式运算中的运算顺序。注意:使用“()”就可以改变程序的执行顺序,尽量使用“()”来控制表达式的执行顺序。
- python-循环(for、while)、判断、字符串格式化
- Python字符串的encode与decode
- Python关于字符串编码,个人认识
- python中文字符串前加u
- Python的string模块中的Template类字符串模板用法
- python截取中文字符串
- Python学习笔记整理(四)Python中的字符串..
- Python3.4字符串基础
- python学习之 字符串前'r'的用法
- Python-复习1129--字符串、元组、list[] 、dict{}
- python的字符串一些方法
- Python基础作业_第03章_字符串处理
- 教为学:Python学习之路(四):字符串
- python 和 java 的字符串切分问题
- 解决Python3下打印utf-8字符串出现UnicodeEncodeError的问题
- python基础知识9---字符串拼接,深浅拷贝,三元运算
- Python 中的POST/GET包构建以及随机字符串的生成
- Python 字符串
- Python - 格式化(format())输出字符串 详解 及 代码
- Python学习--字符串slicing