字符串介绍
字符串类型 str 是常用的数据类型之一,开发者可以使用引号(单引号或双引号)来创建字符串。创建python字符串的方法非常简单,只需为变量分配一个值即可。
var1 = "Hello Python"
var2 = 'Python Hello'
访问字符串中的值
可以通过索引序号(序号从 0 开始)来读取字符串中的某个字符,“abcdef.[1]”取得的值是“b”。
var01 = 'Python!' #定义第1个字符串
var02 = "Objective-C" #定义第2个字符串
print("var01[0]",var01[0]) #截取第1个字符串中的第1个字符
print("var02[1:5]",var02[1:5]) #截取第2个字符串中的第2到第5个字符
执行结果:
修改字符串
可以修改字符串的值,并将其赋值给另一个变量。
var1 = "Hello World!" #定义一个字符串
print("字符串:",var1) #输出字符串初始值
#截取原字符串中的前6个字符与新字符串组合
print("变身~,更新后的字符串是:",var1[:6]+'Python!')
执行结果:
转义字符
当需要在字符串中使用特殊字符时,需要使用到反斜杠“\”表示的转义字符。
Python中常用的转义字符
在编码过程中,有时候需要显示具体的特殊字符,不想让转义字符生效,需要用到 r 和 R 来定义原始字符串。如果想在字符串中输出反斜杠“\”,需要使用“\\”实现。
print("今天天气\n很热了,") #普通换行
print("我想吃\\大西瓜,") #显示一个反斜杠
print("你们想吃吗?\'不想吃!\'") #显示单引号
print(r"\t\r") #显示原始数据
执行结果:
格式化字符串
在Python程序中,可以格式化输出不同格式的字符串,此功能可以借助字符串格式符“%”来实现。
Python 字符串格式化符号
#%s是格式化字符串
#%d是格式化整数
print("我的名字是%s,今年已经%d岁了!" % ('牛爸爸',28))
执行结果:
字符串处理函数
Python 常用的字符串处理函数
字符串处理函数 | 功能 |
---|---|
string.capitalize() | 将字符串的第1个字母大写 |
string.count() | 获得字符串中某一子字符串的数目 |
string.find() | 获得字符串中某一字字符串的起始位置,无则返回-1 |
string.isalnum() | 检测字符串是否包含0~9,A~Z,a~z |
string.isalpha() | 检测字符串是否包含A~Z,a~z |
string.isdigit() | 检测字符串是否包含数字 |
string.islower | 检测字符串是否均为小写字母 |
string.isspace() | 检测字符串中的所有字符是否均为空白字符 |
string.istitle() | 检测字符串中的单词是否为首字母大写 |
string.isupper() | 检测字符串是否均为大写字母 |
string.join() | 连接字符串 |
string.lower() | 将字符串全部转换为小写字母 |
string.split() | 分割字符串 |
string.swapcase() | 将字符串中大写字母转换为小写字母,小写字母转换为大写字母 |
string.title() | 将字符串中的单词首字母大写 |
string.upper() | 将字符串中全部字母转换为大写字母 |
len(string) | 获取字符串长度 |
mystr = 'You build it, you run it.' #定义原始字符串
print('source string is:',mystr) #显示原始字符串
print('swapcase demo\t ',mystr.swapcase()) #大小写字母转换
print('upper demo\t ',mystr.upper()) #全部转为大写字母
print('lower demo\t ',mystr.lower()) #全部转为小写字母
print('title demo\t ',mystr.title()) #将字符串中的单词首字母大写
print('istitle demo\t ',mystr.istitle()) #检测是否为首字母大写
print('islower demo\t ',mystr.islower()) #检测字符串是否均为
print('capitalize demo\t ',mystr.capitalize()) #将字符串的第1个字母大写
print('find demo\t ',mystr.find('u')) #获得字符串中字符'u'的起始位置
print('count demo\t ',mystr.count('a')) #获得字符串中字符'a'的数目
print('split demo\t ',mystr.split(' ')) #使用单引号分割字符串,以空格为界
print('join demo\t ',' '.join('abcde')) #连接字符串
print('len demo\t ',len(mystr)) #获取字符串长度
执行结果:
数字类型
1)整型
整型(int)就是整数,没有小数点,包括正整数、负整数和零。在Python中可以使用如下格式表示不同进制的整数。
0+"进制标志"+数字
2)浮点型
浮点型(float)由整数部分与小数部分组成,也可以使用科学计数法表示浮点型。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法也是精确的),而浮点数运算则可能会有四舍五入的误差。
需要注意的是,只有浮点类型的数值才使用科学计数法表示。
3)布尔型
布尔类型是表示逻辑值的简单类型,布尔型的取值只有True和False(首字母大写),分别表示逻辑上的“真”或“假”。
程序中可以直接用True和False表示布尔值,也可以通过布尔运算计算出来。
and、or、not运算(and运算是与运算,只有所有的操作数都为True时,and运算结果才是True)
or运算是或运算(其中有一个操作数为True,or运算的结果就是True)
not运算时非运算(单目运算符,能够实现相反的操作运行)
条件判断应用中经常使用布尔型
4)复数型
复数型(complex)由实数部分和虚数部分构成,可以用 a+bj 或者 complex(a,b)表示,复数的实部a和虚部b都是浮点型。
int、float 和 complex 的对比
int | float | complex |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3+e18 | .876j |
-0490 | -90. | -.6545+0j |
-0x260 | -32.54e100 | 3e+26j |
0x69 | 70.2-E12 | 4.53e-7j |
#注意下班代码中的赋值方式
#将a赋值为整数21
#将b赋值为浮点数5.6
#将c赋值为布尔数True
#将d赋值为复数4+4j
a, b, c, d = 21, 5.6, True, 4+4j
print(type(a), type(b), type(c), type(d))
执行结果: