第三章 python的基础数据类型
注:本博客为 《python 王者归来》学习笔记,如有版权问题请通知删除
3-1 type() 函数
这个函数可以列出变量的数据类型类别
x = 10
y = x / 3
print(x)
print(type(x))
print(y)
print(type(y))
#输出结果
10
3.3333333333333335
3-2 数值数据类型
python 在定义变量时可以不用设定这个变量的数据类型,未来如果这个变量内容是整数,这个变量就是整数(int)数据类型,如果这个变量内容是浮点数,这个变量就是浮点数(float)数据类型。整数与浮点数最大的区别是,整数不含小数点,浮点数含小数点
x = 10.0
print(x)
print(type(x))
#输出结果
10.0
3-2-1 整数与浮点数的运算
python 程序设计时不同数据类型也可以执行运算,程序设计时常会发生整数与浮点数之间的数据运算,python具有简单自动转换能力,在计算时会将整数转换为浮点数再执行运算。
x = 10
y = x + 5.5
print(x)
print(type(x))
print(y)
print(type(y))
#输出结果
10
15.5
3-2-2 2进位整数与函数 bin()
我们可以用2进位方式代表整数,python中定义凡是0b开头的数字,代表这是2进位的整数。bin()函数可以将一般数字转换为2进位。
x = 0b1101
print(x)
y = 13
print(bin(y))
#输出结果
13
0b1101
3-2-3 8进位整数
我们可以用8进位方式代表整数,python中定义凡是0o(数字-字母)开头的数字,代表这是8进位的整数,oct() 函数可以将一般数字转换为 8 进位。
x = 0o57
print(x)
y = 47
print(oct(y))
#输出结果
47
0o57
3-2-4 16进位整数
我们可以用16进位方式代表整数,python中定义凡是0x开头的数字,代表这是16进位的整数,hex() 函数可以将一般数字转换为 16 进位
x = 0x5D
print(x)
y = 93
print(hex(y))
#输出结果
93
0x5d
3-2-5 强制数据类型的转换
有时候我们设计程序时,可以自行强制使用下列函数,转换变量的数据类型。
int() :将数据类型强制转换为整数
x = 10.5
print(x)
print(type(x))
y = int(x) + 5
print(y)
print(type(y))
#输出结果
10.5
15
float():将数据类型强制转换为浮点数
x = 10
print(x)
print(type(x))
y = float(x) + 10
print(y)
print(type(y))
#输出结果
10
20.0
3-2-6 数值运算常用的函数
下列是数值运算常用的函数
abs():计算绝对值。
x = -10
print(abs(x))
#输出结果
10
pow(x,y):返回 x 的 y 次方。
x = 5
y = 3
print(pow(x,y))
#输出结果
125
round():返回五舍六入,留意不是四舍五入
x = 48.5
print(round(x))
x = 48.6
print(round(x))
#输出结果
48
49
3-3 布尔值数据类型
python 的布尔值(Boolean)数据类型的值有两种,True(真)或 False(伪),它的数据类型代号是 bool。这个布尔值一般是应用在程序流程的控制,特别是在条件表达式中,程序可以根据这个布尔值判断应该如何执行工作。
x = True
print(x)
print(type(x))
y = False
print(y)
print(type(y))
#输出结果
True
False
如果将布尔值数据类型强制转换成整数,当原值是 True,将得到1;当原值是 False,将得到0。
x = True
print(int(x))
print(type(x))
y = False
print(int(y))
print(type(y))
#输出结果
1
0
3-4 字符串数据类型
所谓的字符串(string)数据是指两个单引号(’ ')之间或是两个双引号(“ ”)之间任意个数字元符号的数据,它的数据类型代号是 str 。在英文字符串的使用中常会发生某字中间有单引号,其实这是文字的一部分,
如下错误的格式
x = 'This is James's ball'
#输出结果
File "", line 1
x = 'This is James's ball'
^
SyntaxError: invalid syntax0
3-4-1 字符串的连接
数学的运算符 “ + ” ,可以执行两个字符串相加,产生新的字符串。
num1 = 222
num2 = 333
num3 = num1 + num2
print("下面是数值相加")
print(num3)
numstr1 = "222"
numstr2 = "333"
numstr3 = numstr1 + numstr2
print("下面是由数值组成的字符串相加")
print(numstr3)
#输出结果
下面是数值相加
555
下面是由数值组成的字符串相加
222333
3-4-2 处理多于一行的字符串
程序设计时如果字符串长度多于一行,可以使用三个单引号(或是三个双引号)将字符串包夹。
str1 = '''abcdef
1234
ABCDEF
'''
print(str1)
#输出结果
abcdef
1234
ABCDEF
3-4-3 逸出字符
在字符串使用中,如果字符串内有一些特殊字符,如单引号,双引号等,必须在此特殊字符前加上 “\” (返斜杠),才可正常使用,这种含有"\"符号的字符称逸出字符,下表Hex值是指ASCII值
逸出字符
Hex值
意义
\’
27
单引号
\"
22
双引号
\
5C
反斜杠
\a
07
响铃
\b
08
BackSpace键
\f
0C
换页
\n
0A
换行
\o
八进位表示
\r
0D
光标移至最左位置
\x
十六进位表示
\t
09
Tab键效果
\v
0B
垂直定位
#以下输出使用单引号设定的字符串,需使用 \'
str1 = 'I can\'t stop loving you.'
print(str1)
#以下输出有 \t和 \n字符
str2 = "I \tcan 't bstop \nloving you."
print(str2)
#输出结果
I can't stop loving you.
I can 't bstop
loving you.
3-4-4 强制转换为字符串
str() 函数可以强制将数值数据转换为字符串数据
num1 = 222
num2 = 333
num3 = num1 + num2
print("这是数值相加")
print(num3)
str1 = str(num1) + str(num2)
print("强制转换为字符串后相加")
print(str1)
#输出结果
这是数值相加
555
强制转换为字符串后相加
222333
3-4-5 将字符串转换为整数
在未来的程序设计中也常会发生将字符串转换为整数数据,下列将直接以实说明
x1 = "22"
x2 = "33"
x3 = x1 + x2
print(x3)
x4 = int(x1) + int(x2)
print(x4)
#输出结果
2233
55
3-4-6 字符串数据的转换
如果字符串含一个字符或一个文字时,我们可以使用下列执行数据的转换
chr(x):可以返回函数 x 值的字符,x 是 ASCII 码值
ord(x):可以返回函数字符参数的 Unicode 码值,如果是中也可传回 Unicode 码值。如果是英文字会,Unicode 码值与 ASCII 码值是一样的
x1 = 97
x2 = chr(x1)
print(x2)
x3 = ord(x2)
print(x3)
x4 = "魁"
print(ord(x4))
#输出结果
a
97
39745
3-4-7 字符串与整数相乘产生字符串复制效果
在 python 可以允许将字符串与整数相乘,结果是字符串将重复该整数的次数
x1 = "A"
x2 = x1 * 10
print(x2)
x3 = "ABC"
x4 = x3 * 5
print(x4)
#输出结果
AAAAAAAAAA
ABCABCABCABCABC
3-4-8 聪明地使用字符串加法和换行字符\n
有时设计程序时,想将字符串分行输出,可以使用字符串加法功能,在加法过程中加上换行字符 “\n” 即可产生字符串分行输出的结果。
str1 = "洪锦魁著作"
str2 = "HTML 王者归来"
str3 = "python 王者归来"
str4 = str1 + "\n" + str2 + "\n" + str3
print(str4)
#输出结果
洪锦魁著作
HTML 王者归来
python 王者归来
3-4-9 字符串前加 r
在使用 python 时,如果在字符串前加上 r,可以防止逸出字符被转译
str1 = "Hello!\npython"
print(str1)
str2 = r"Hello!\npython"
print(str2)
#输出结果
Hello!
python
Hello!\npython