《Python零基础快乐学习之旅》学习笔记3——Python的基本数据类型
文章目录
第3章 Python的基本数据类型
Python的基本数据类型有下列几种:
- 数值数据类型(numeric type)。常见的数值数据可分为整数(int)类型、浮点数(float)类型,不论是整数或浮点数都可以是任意大小。
- 布尔值(boolean)数据类型。也可归为数值数据类型。
- 文字序列类型(text sequence type)。即字符串(string)数据类型。
- 序列类型(sequence type)。list、tuple。
- 对映类型(mapping type)。dict。
- 集合类型(set type)。集合set。
由于变量在使用前不需要声明,同时程序设计过程中,变量的数据类型会改变,通常需要使用type()函数判断目前的变量数据类型。type()函数可列出变量的数据类型类别。
列出数值变量的数据类型。
>>> x = 10
>>> y = x / 3
>>> print(x)
10
>>> print(type(x))
<class 'int'>
>>> print(y)
3.3333333333333335
>>> print(type(y))
<class 'float'>
>>>
3.1 数值数据类型
Python在声明变量时可以不用设置这个变量的数据类型,未来如果这个变量内容是存放整数,这个变量就是整数(int)数据类型;如果这个变量内容是存放浮点数,这个变量就是浮点数数据类型。整数与浮点数最大的区别是:整数不含小数点,浮点数含小数点。
3.1.1 整数与浮点数的运算
Python程序设计时不相同数据类型也可以执行运算,程序设计时,常会发生整数与浮点数之间的数据运算。Python具有简单的自动转换能力,在计算时会将整数转换为浮点数再执行运算。
不同数据类型的运算实例:
>>> x = 10
>>> y = x + 5.5
>>> print(x, type(x), y, type(y))
10 <class 'int'> 15.5 <class 'float'>
此外,如果某一个变量是整数,如果最后所存储的值是浮点数,Python也会将此变量转换成浮点数。
>>> x = 10
>>> print(x, type(x))
10 <class 'int'>
>>> x += 5.5
>>> print(x, type(x))
15.5 <class 'float'>
>>>
3.1.2 强制数据类型的转换
有时设计程序时,可自行强制使用下列函数,转换变量的数据类型。
- int():将数据类型强制转换成整数。
- float():将数据类型强制转换为浮点数。
将浮点数强制转换为整数的运算。
# ch3_4.py
x = 10.5
print(x, type(x)) # 加法前列出x数据类型
y = int(x) + 5
print(y, type(y)) # 加法后列出y数据类型
z = float(y) + 5
print(z, type(z)) # 加法后列出z数据类型
执行结果:
============================== RESTART: E:/Python-Files/ch3/ch3_4.py =============================
10.5 <class 'float'>
15 <class 'int'>
20.0 <class 'float'>
>>>
3.1.3 数值运算常用的函数
下列是数值运算时常用的函数:
-
abs():计算绝对值。
-
pow(x,y):返回x的y次方。
-
round(x,n):x为要处理的数字,n是小数字数。如果省略n,则表示取整数忽略小数字数;若n不为空,则表示需保留n位小数。*处理整数时,如果处理位数左边是奇数,则四舍五入;如果处理位数左边是偶数,则五舍六入。*例如:round(1.5)=2,round(2.5)=2。
>>> x, y = round(1.5), round(2.5) >>> print(x, y) 2 2 >>>
处理小数时,采用下一小数字数采用“5”以下舍去,“51”以上进位的处理方式。例如:
>>> round(2.15,1) 2.1 >>> round(2.25,1) 2.2 >>> round(2.151,1) 2.2 >>> round(2.251,1) 2.3 >>> round(2.152,2) 2.15 >>> round(2.155,2) 2.15 >>> round(2.156,2) 2.16 >>> round(2.149,2) 2.15 >>>
abs()、pow()、round()函数的应用。
# ch3_5.py x = -10 print("以下输出abs()函数的应用") print(x) # 输出变量x print(abs(x)) # 输出abs(x) x, y = 5, 3 print("以下输出pow()函数的应用") print(pow(x, y)) x = 47.5 print(round(x)) x = 48.5 print(round(x)) x = 49.5 print(round(x)) print("以下输出round(x,n)函数的应用") x = 2.15 print(round(x,1)) x = 2.25 print(round(x,1)) x = 2.151 print(round(x,1)) x = 2.251 print(round(x,1))
============================== RESTART: E:/Python-Files/ch3/ch3_5.py ============================= 以下输出abs()函数的应用 -10 10 以下输出pow()函数的应用 125 48 48 50 以下输出round(x,n)函数的应用 2.1 2.2 2.2 2.3 >>>
3.2 布尔值数据类型
Python的布尔值(boolean)数据类型有两种,True(真)或False(伪),它的数据类型代号为bool。一般应用于程序流程的控制中,特别是条件语句中,程序可根据该布尔值判断应该如何执行工作。
>>> x = True
>>> print(x,type(x))
True <class 'bool'>
>>> y = False
>>> print(y,type(y))
False <class 'bool'>
>>>
3.3字符串数据类型
字符串(string)数据是指两个单引号(’’)或双引号("")之间任意个数符号的数据,其数据类型代号为str。在英文字符串的使用中,通常会出现字符串中间出现单引号(单引号也属于字符串中的一部分),这种情况下,可以使用双引号或转义字符处理。
>>> x = 'This is Tom's book!'
SyntaxError: invalid syntax
>>> x = "This is Tom's book!"
>>> print(x)
This is Tom's book!
>>> x = 'This is Tom\'s book!'
>>> print(x)
This is Tom's book!
>>>
3.3.1字符串的连接
数学的运算符“+”,可以执行两个字符串相加,产生新的字符串。
x = 123
y = 456
z = x + y
print("数值相加:",z)
str1 = "123"
str2 = "456"
str3 = str1 + str2
print("由数值组成的字符串相加:",str3)
str4 = str1 + " " + str2
print("由数值组成的字符串相加,同时中间加上一个空格:",str4)
str5 = "Hello"
str6 = "World!"
str7 = str5 + str6
print("一般字符串相加:",str7)
数值相加: 579
由数值组成的字符串相加: 123456
由数值组成的字符串相加,同时中间加上一个空格: 123 456
一般字符串相加: HelloWorld!
3.3.2处理多于一行的字符串
如果字符串长度多于一行,可以使用3个单引号(或3个双引号)将字符串包括即可。(与注释的处理方式类似)
str1 = '''天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,
所以动心忍性,增益其所不能。'''
print(str1)
str2 = """北冥有鱼,其名为鲲。鲲之大,不知其几千里也;化而为鸟,其名为鹏。鹏之背,不知其几千里也;怒而飞,其翼若垂天之云。
是鸟也,海运则将徙于南冥。南冥者,天池也。"""
print(str2)
天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,
所以动心忍性,增益其所不能。
北冥有鱼,其名为鲲。鲲之大,不知其几千里也;化而为鸟,其名为鹏。鹏之背,不知其几千里也;怒而飞,其翼若垂天之云。
是鸟也,海运则将徙于南冥。南冥者,天池也。
3.3.3逸出字符
在字符串使用中,如果字符串内有一些特殊字符,例如:单引号、双引号等,必须在特殊符号前加上反斜杠(“\”)进行转义,才能正常使用,这种含有“\”符号的字符叫做逸出字符。
逸出字符 | Hex值 | 意义 |
---|---|---|
\’ | 27 | 单引号 |
\" | 22 | 双引号 |
\\ | 5C | 反斜杠 |
\a | 07 | 响铃 |
\b | 08 | BackSapce键 |
\f | 0C | 换页 |
\n | 0A | 换行 |
\o | 8进制表示 | |
\r | 0D | 光标移至最左位置 |
\x | 16进制表示 | |
\t | 09 | Tab键效果 |
\v | 0B | 垂直定位 |
字符串使用过程中,尤其是碰到字符串含有单引号时,如果是使用单引号定义这个字符串,必须使用逸出字符;如果使用的是双引号定义该字符串,则可以不使用逸出字符。
# 以下输出使用单引号设置的字符串,需使用\'
str1 = 'I can\'t stop loving you.'
print(str1)
# 以下输出使用双引号设置的字符串,不需使用\'
str2 = "I can't stop loving you."
print(str2)
# 以下输出有\t和\n字符
str3 = "I \tcan't stop \nloving you."
print(str3)
I can't stop loving you.
I can't stop loving you.
I can't stop
loving you.
3.3.4强制转换为字符串str()
str()函数可以强制将数值数据转换为字符串数据。
x = 123
y = 456
z = x + y
print("数值相加:",z,type(z))
str1 = str(x) + str(y)
print("强制转换为字符串相加:",str1,type(str1))
数值相加: 579 <class 'int'>
强制转换为字符串相加: 123456 <class 'str'>
3.3.5字符数据的转换
如果字符串含一个字符或一个文字时,可以使用下列函数执行数据的转换。
- chr(x):可以返回函数x值的字符,x是ASCII码值。
- ord(x):可以返回函数字符参数x的Unicode码值,如果是中文字也可返回Unicode码值。如果是英文字符,Unicode码值与ASCII码值是一样的。
ch1 = 97
ch2 = chr(ch1)
print(ch2) # 输出数值97的字符
ch3 = ord(ch2)
print(ch3) # 输出字符ch3的Unicode码值
ch4 = '中'
print(ord(ch4)) # 输出字符‘中’的Unicode码值
a
97
20013
3.3.6使用字符串加法和换行字符\n
设计程序时,若想将字符串分行输出,可以使用字符串加法功能,在加法过程中加上换行字符“\n”,即可产生字符串分行输出的结果。
str1 = "天行健,君子以自强不息"
str2 = "地势坤,君子以厚德载物"
str3 = str1 + "\n" + str2 + "\n"
print(str3)
天行健,君子以自强不息
地势坤,君子以厚德载物
本文地址:https://blog.csdn.net/username666/article/details/108984226
推荐阅读
-
python web学习笔记二---Django框架应用和基本运行方式(基础的用户登录)
-
FishC《零基础学习python》笔记--第007、008讲、009讲:了不起的分支和循环1、2、3
-
Python基础教程学习笔记—第3章:字符串的使用
-
《Python零基础快乐学习之旅》学习笔记3——Python的基本数据类型
-
python零基础学习笔记(五)-python数据类型之字符串类型内置函数
-
FishC《零基础学习python》笔记--第010讲、11讲、12讲:列表:一个打了激素的数组1、2、3
-
《Python零基础快乐学习之旅》学习笔记3——Python的基本数据类型
-
python零基础学习笔记(五)-python数据类型之字符串类型内置函数