Python 中数据类型可以分为 数字型 和 非数字型
数字型
int
)float
)bool
)
True
非 0 数
—— 非零即真False
0
complex
)
非数字型
在 Python
中,所有 非数字型变量 都支持以下特点:
1.都是一个 序列 sequence
,也可以理解为 容器
2.取值 []
3.遍历 for in
4.计算长度、最大/最小值、比较、删除
5.链接 +
和 重复 *
6.切片
字符串是 Python 中最常用的数据类型。我们可以使用引号( ‘ 或 " )来创建字符串。
var1 = ‘Hello World!‘
var2 = "Hello"
var3 = ‘‘ #空字符串
Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
Python 访问子字符串,可以使用方括号 [] 来截取字符串。
字符串名[索引头:索引尾:步长] #步长默认为1
索引值以 0 为开始值,-1 为从末尾的开始位置。
s = ‘hello!‘
print("s[0]",s[0]) #h
s = ‘hello!‘
print(s[1:5:1]) # 1 2 3 4 #取头不取尾 ello
print(s[:]) #全取 hello!
小题目:请利用切片,倒序输出s的值,输出结果为!olleh
s = ‘hello!‘
print(s[-1:-7:-1])
print(s[::-1])
在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。
\n 换行
\r 回车
\\ 反斜杠符号
\t 横向制表符
\v 纵向制表符
下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a+b输出结果:HelloPython |
* | 重复输出字符串 | a*2输出结果: HelloHello |
[] | 通过索引获取字符串中字符 | a[1] 输出结果 e |
[:] | 截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。 | a[1:4] 输出结果 ell |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | ‘H‘ in a 输出结果 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | ‘M‘ not in a 输出结果 True |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | print( r‘\n‘ ) print( R‘\n‘ ) |
% | 格式字符串 | 下节讲到 |
a = "Hello"
b = "Python"
print("a + b 输出结果:", a + b) # HelloPython
print("a * 2 输出结果:", a * 2) # HelloHello
print("a[1] 输出结果:", a[1]) # e
print("a[1:4] 输出结果:", a[1:4]) # ell
if("H" in a) :
print("H 在变量 a 中") # H 在变量 a 中
else :
print("H 不在变量 a 中")
if("M" not in a) :
print("M 不在变量 a 中") # "M 不在变量 a 中
else :
print("M 在变量 a 中")
print (r‘\n‘) # \n
print (R‘\n‘) # \n
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
#!/usr/bin/python3
para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符 TAB ( \t )。
也可以使用换行符 [ \n ]。 """
print (para_str)
以上实例执行结果为:
这是一个多行字符串的实例
多行字符串可以使用制表符 TAB ( )。
也可以使用换行符 [
]。
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。
一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。
Python 支持格式化字符串的输出 。
print ("我叫 %s 今年 %d 岁!" % (‘小明‘, 10))
#%s可以填任何数字
#%d 只能填数字 整型 浮点数
#%f 可以填数字 (%.2f 小数点后保留2位)
age = 18
name = ‘怪兽‘
score = 99.99
#格式化输出1:format 特点 {} 用"{}"来占坑
print("很帅的{},今年{}岁!".format(name,age))
print("很帅的{0},今年{1}岁!".format(name,age)) #0 1可不写,根据索引来
print(f"4很帅的{name},今年{age}岁!")
#用了这种方式明显更简单了,不用再去判断使用 %s,还是 %d。
print( f‘{1+2}‘) # 3
在 Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果:
在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u。
在Python3中,所有的字符串都是Unicode字符串。
字符串操作(字符串常用内建函数)
len(数据)统计数据的长度print(len(s))
字符串取值:字符串名[索引值]
字符串取多个值:切片 字符串名[索引头:索引尾:步长] 步长默认为1
字符串的替换 字符串.replace(指定替换值,新值,替换次数)
字符串的去除指定字符 字符串.strip(指定替换值)
字符串的拼接 + 保证"+"左右两边的变量值类型要一致
str(数字)---可以强制转化为str类型
字符串.split(可以指定切割符,切割次数)
eg:
s = ‘ hello!‘
print(s.split()) #[‘hello!‘]
print(s.split(" ")) #根据空格进行切割 #[‘‘,‘hello!‘]
print(s.split("e")) #[‘ h‘, ‘llo!‘]
print(s.split("l")) #[‘ he‘, ‘‘, ‘o!‘]
#可以指定切割次数
print(s.split("l",1)) #[‘ he‘, ‘lo!‘]
字符串.replace(指定替换值,新值,替换次数)
eg:
s = ‘hello!‘
new = s.replace(‘l‘,‘@‘,2) #可指定替换次数
print(new) # he@@o!
字符串.strip(指定替换值)
eg:
s = ‘ hello!‘
# 1:默认去掉空格
# 2:只能去掉头和尾的字符
print(len(s)) #7
new = s.strip()
print(len(new)) #6
new = s.strip("!")
print(new) # ‘ hello‘
+ 保证"+"左右两边的变量值类型要一致
eg:
s1 = ‘python01‘
s2 = ‘新年快乐‘
s3 = 666 #整数 str(数字)---可以强制转化为str类型
print(s1+s2) #拼接: python01新年快乐
print(s1,s2) #分别输出: python01 新年快乐
print(s1,s2,s3)
# print(s1+s2+s3) #ypeError: must be str, not int 数据类型不一致
print(s1+s2+str(s3)) #python01新年快乐666
原文:https://www.cnblogs.com/to-monster/p/14428085.html