一、整型
1. 整型:就是我们平常所说的整数(integer),如:1、2、3,另外还包括0和负数。
2. Python 3支持各种整数值,不管是小的整数值,还是大的整数值。它不像有些语言分为Short、int、long, Python 一直力求简洁,只有一个整数类型 int。例如:
>>> a = 56
>>>Print(a)
>>> a = 999999999999999999999
>>>Print(a)
>>>Print(type(a))
运行以上程序的结果为:
56
999999999999999999999
<type ‘int’>( 注意:Python2中不同,是<type ‘long’>)
3. Python 的整数值有4种表示形式
十进制形式:我们平时见的整数就是十进制形式,比如:123、36。
二进制形式:以0b 或0B开头的整数,就是二进制形式。
八进制形式:以0o 或 0O开头的整数就是八进制形式。
十六进制形式:以0x或0X开头的整数就是十六进制形式。(十六进制中10-15分别以a、b、c、d、e、f来表示,此时字母不区分在小写)
以下代码用到了其它形式的整数:
# 以0x 或者0X开头的十六进制整数
Hex_Value1 = 0x13
Hex_value2 = 0XaF
print(“Hex_Value1的值为:”, Hex_Value1) print(“Hex_Value2的值为:”, Hex_Value2)
# 以0b 或者0B开头的二进制整数
Bin_Value1 = 0b111
Bin_value2 = 0B101
print(“Bin_Value1的值为:”, Bin_Value1) print(“Bin_Value2的值为:”, Bin_Value2)
# 以0o 或者0O开头的八进制整数
Oct_Value1 = 0o54
Oct_value2 = 0O17
print(“Oct_Value1的值为:”, Oct_Value1) print(“Oct_Value2的值为:”, Oct_Value2)
4. Python 的整型支持None值(空值),例如:
>>>a = None
>>>print(a)
5. 为了提高数值的可读性,Python3允许为数值增加下画线(_)或分隔符,这些并不会影响数值本身。(浮点型同样)例如:
Price = 1_000_000 _1234 #Price的实际价格是:10000001234
二、 浮点型
1. 浮点型: 在计算机编程中,小数(decimal number) 被称为浮点数(floating-point-number,简写成float), 这些数有小数点而且后面有小数位,如:1.25、-101.2 。
2. 浮点型只有两种表示形式:十进制形式和科学计数形式。而且只有浮点形才可以用科学计数形式,比如51200 是一个整型值,512E2则是一个浮点型值。
3. 浮点数必须包含一个小数点,否则就当成一个整型值来处理。
4. Python中,不管是整型值还是浮点型值都不允许除以0。
三、 字符串
1. 字符串:字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
2. Python中的字符串必须用引号括起来,用单引号或双引号,没有任何区别。
3. 字符串中的内容:几乎可以包括任何字符,英文字符也行,中文字符也行。
4. 如果这符中包含了单引号或双引号,就需要进行特殊处理。
1) 使用用不同的引号: I’m a coder 中包含了单引号(‘),可以用双引号括起来,写成:Str1 = “I’m a coder” 。同时字符串中包含双引号,就用单引号括起来。
2) 使用转义字符: Python中允许用反斜线(\)将字符串中的特殊字符进行转义。
如果字符串中即有单引号,又有双引号,就需要用转义字符了。例如:
Str2 = ‘”we are scared, let\’s hide in the shade”, says the bird’ (注意:如果字符串中刚好又包含了反斜线\,那就要用双反斜线\\来作为转义字符了)
5. 拼接字符串的方法:
1) 如果接两个字符串紧挨着写,Python就会自动拼接到一起输出。比如:
>>>Str1 = “Hello,” ‘world’
>>>print(str1)
运行以上程序,输出结果为: Hello,world
2) 上面只是一种特殊写法,Python使用加号(+)作为字符串的拼接运算符。例如:
Str2 = ”Hello,”
Str3 = “world”
Str4 = Str2 +Str3
print(Str4)
运行以上程序,输出结果也是: Hello,world
3) 有时需要将字符串与数值进行拼接, 但Python不允许直接将字符串和数值拼接,需要先将数值转换成字符串。
将数值转换成字符串可以使用str()和repr()函数,两者区别是str()是Python内置的类型,和int、float一样,而repr()只是一个函数。例如:
>>> S1 =”这本书的价格是:”
>>>P = 50
>>>Print( S1+str(p))
4)Python中,string中的每个字符占的空间大小为字节,一个英文字母,不论大写还是小写都占一个字节,中文汉字占两个字节。例如:
可以看到,空字符占用37个字节, 加入字母a就多占用了一个字节,变为38。
Bit(位) : 一个二进制位,比如:0 Byte(字节):一个字节=八个二进制位,比如:01010110 1。
5)长字符串: 使用三引号括起来的字符串为长字符串,所以其中即可以包含双引号,又可以包含单引号。程序中有大段文本内容要定义成字符串时,优先使用长字符串。
2. Python支持的转义字符:前面已经提到字符串中可以使用\进行转义,下面汇总一些Python中支持的转义字符。例如:
S = ‘Hello\nJeff\nGood\nMorning’
print(S)
运行上面程序,输入出结果为:
Hello
Jeff
Good
Moring
6 字符串格式化 Python 提供了% 对各种类型的数据进行格式化输出。例如:
user =”Jeff” age =8
Print(“%s is a %s years old boy” %(user, age))
%s 是一种转换说明符, 表示使用str()将变量或表达式转换为字符串,它为被后面的变量或表达式替换。
如果格式化字符串中包含了多个%s,那么后面就要提供多个变量或表达式,并用括号括起来。
四、 序列相关方法
1. 字符串索引:字符串本质上就是由多个字符组成的一个序列,因些程序允许通过索引来操作字符,比如获取指定索引处的字符,获取指定字符在字符串中的位置。
2. 字符串索引的方法
1) 获取单个字符:Python字符串索引是直接使用方括号([])获取对应的字符,字符串中第一个数的索引号为0、第二个数的索引号1,以此类推。
Python还允许从后面开始计算索引,即最后一个字符的索引号为-1,倒数第二个字符索引号为-2。例如:
>>> s = ‘Good morning‘
>>>print(s[3]) #输出d
>>>print(s[-3]) #输出i
2) 获取中间一段:在方括号中使用范围来获取中间一段(被称为子串), 中间用冒(:)号隔开。
>>> s = ‘Good morning‘
#获取字符串s中从字符1到字符3的子串(不包含5)
>>>print(s[1:3]) #输出oo
#获取字符串s中从字符1到字符-3的子串
>>>print(s[1:-3]) #输出ood morn
#获取字符串s中从字符-6到字符-2的子串
>>>print(s[-6:-2]) #输出orni ,注意不是[-2:-6]
3) 省略索引:如果省略结束索引,表示从当前字符截取到最后一个字符;如果省略起始索引,表示从字符串第一个字符开始截取。例如:
>>> s = ‘Good morning‘
#从字符1开始截取到最后一个字符的子串(包含1)
>>>print(s[1:]) #输出ood morning
#从倒数第3个字符开始截取到最后一个字符的子串(包含-3)
>>>print(s[-3:])
#输出ing #从开始字符到字符-3的子串(不包含-3)
>>>print(s[:-3]) #输出Good morn
4) 索引某个字符串:Python中支持用in 运算符判断是否包含某个子串(英文区分大小写)例如:
>>> s = ‘Good morning‘
>>>print(’Good’ in s) #输出 True (布尔值‘真’)
>>> print('good' in s) #输出 False (布尔值‘假’)
5) 获取字符串长度:如果要获取字符串的长度,可以调用内置函数len()。
>>> s = ‘Good morning‘ #获取字符串s的长度
>>> print(len(s)) 输出12,包括空格
6) 求最大字符和最小字符:如果要获取字符串中最大字符和最小字符,可以调用内置函数Max()和Min()。
>>> s = ‘Good morning‘
#获取字符串s中的最大字符
>>>print(max(s)) #输出r
#获取字符串s中的最小字符
>>>print(min(s)) #输出“空格”
3. 两个帮助函数dir() 和 help():Python字符串属于内建的str类,那么str类包含哪些方法呢?Python的方便之处就是它是自带文档的,我们可以使用这两个函数查询资料。
Dir(): 列出指定类或模块包含的全部内容(包括函数、方法、类、变量等)。
>>>dir(str) # 例出str类的所有方法,如果要查方法的用法,用help()函数
Help(): 查看某个函数和方法的帮助文件。
>>>help(str.upper) # 查询str类的upper方法的用法
4. Str类常用的方法汇总如下:
title(): 将字符串中每个单词的首字母大写
lower(): 将整个字符串改为小写
upper(): 将整个字符串改为大写
strip(): 删除字符串前后的空格
Istrip(): 删除字符串左边的空格
Rstrip(): 删除字符串右边的空格
Startswith: 判断字符串是否以指定子串开头
Endwith(): 判断字符串是否以指定子串结束
Find(): 查找子串在字符串中出现的位置,如果没有找到返回-1
Index(): 查找子串在字符串中出现的位置,如果没有找到返回ValueError
Replace(): 使用指定子串替换目标子串
>>>print(s.replace(‘moring’ , ’afternoon’) #将字符串s中所有的moring 换成afternoon Split(): 将字符串按指定分割符分割成多个短语
>>>Print(s.split()) #以空格进行分割
>>>print(s.split(‘.’)) #以点(.)进行分割
Join():将多个短语链接成一个字符串
>>> s='Good morning'
>>> mylist=s.split()
>>> print('/'.join(mylist)) #输出Good/morning
五、 本节回顾总结
1) Python中有哪些常见的数据类型?
2) 整型和浮点型的区别有些哪?
3) 字符串怎么样的数值拼接呢?
4) 你来记得转义字符的用法吗?
5) 字符串索引和Str类的方法。