零基础Python完全自学教程6:Python中的基本数据类型
欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础Python完全自学教程》今日分享的是第6课《Python中的基本数据类型》。本节课主要内容有:Python中的数字(整数、浮点数、复数)、Python中的字符串、Python中的布尔类型、Python中数据类型转换。
欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础python完全自学教程》今日分享的是第6课《Python中的基本数据类型》。本节课主要内容有:Python中的数字(整数、浮点数、复数)、Python中的字符串、Python中的布尔类型、Python中数据类型转换。
在内存中有很多中类型存储数据。如,一个人的姓名使用字符存储,年龄使用数值型存储,而婚否可以使用布尔类型存储。这些都是Python中提供的基本数据类型,接下来就详细讲讲这些基本数据类型。
6.1、Python中的数字
在Python中,提供数字类型用于保存数值,并且这些数值是不可改变的数据类型。如果修改数字类型变量的值,就会把值储存到内容中,然后修改变量让其指向新的内存地址。
在Python中,数字类型的主要包括整数、浮点数和复数。
6.1.1、Python中的整数
整数(integer)是正整数、零、负整数的集合。整数不包括小数、分数。
整数类型包括十进制整数、八进制整数、十六进制整数和二进制整数。
6.1.1.1、十进制整数。我们常见的整数都是十进制整数,由0-9组成,逢十进一。如下数值都是十进制整数:
88888888888,0,-2021
在Python idle中执行结果如下:
>>> 88888888888
88888888888
>>> 0
0
>>> -2021
-2021
>>>
注意:十进制的数字不能以0开头(0除外)。
6.1.1.2、八进制整数。由0-7组成,并且以0o或0O开头的数,进位规则是逢八进一,如0o2021(转换十进制是1041),-0o123(转换成十进制是-83),0o0(转换十进制是0),在Python IDLE执行结果如下:
>>> number = 0o2021
>>> number
1041
>>> number = -0o123
>>> number
-83
>>> number = 0o0
>>> number
0
>>>
6.1.1.3、十六进制整数。由0~9,A~F或a~f 组成。以0x或0X开头,进位规则是逢十六进一。如0x2021(转换十进制是8225),-0x123(转换成十进制是-291),0x0(转换十进制是0),在Python IDLE执行结果如下:
>>> number = 0x2021
>>> number
8225
>>> number = -0x123
>>> number
-291
>>> number = 0x0
>>> number
0
>>>
6.1.1.4、二进制整数。只有0和1两个基数,并且以0b/0B开头.进位规则是“逢二进一”。如:0b10(转换为10进制数位是2),0b11110000(转换为10进制数位是240),这个就不能写成0b2021了,因为二进制只有0和1,在Python IDLE执行结果如下:
>>> number = 0b10
>>> number
2
>>> number = 0b11110000
>>> number
240
>>> number = 0b2021
SyntaxError: invalid digit '2' in binary literal
6.1.2、Python中的浮点数
在Python中,浮点数(float) 由整数部分和小数部分组成,主要用于处理包括小数的书。如2.656、0.8、-1.444、3.1415926535等。浮点数也可以使用科学计数法表示,如2.2e2、-6.2e5、8.88e-2等。
在使用浮点数进行计算时,可能会出现小数位数不确定的情况。如:计算0.1+0.1,结果是想要的0.2,而计算0.1+0.2时,将得到实际结果是0.30000000000000004,其实我们想要的结果是0.3.对于这样的问题,所有的语言都存在这个问题,我们忽略多余的小数数位即可,在Python IDLE执行结果如下:(自己体验一下)
>>> 0.1+0.1
0.2
>>> 0.1+0.2
0.30000000000000004
>>>
实例讲解:例6.1.2 根据身高、体重计算BMI指数。
在Python IDLE中新建一个bmi1.py的文件,该文件定义两个变量:一个记录身高,单位m,另一个记录体重,单位kg,根据公式“BMI=体重/(身高*身高)”计算BMI指数,代码如下:
height = 1.70 # 保存身高的变量,单位:米
print("您的身高:" + str(height))
weight = 48.5 # 保存体重的变量,单位:千克
print("您的体重:" + str(weight))
bmi=weight/(height*height) # 用于计算BMI指数,公式为“体重/身高的平方”
print("您的BMI指数为:"+str(bmi)) #输出BMI指数
# 判断身材是否合理
if bmi<18.5:
print("您的体重过轻 ~@_@~")
if bmi>=18.5 and bmi<24.9:
print("正常范围,注意保持 (-_-)")
if bmi>=24.9 and bmi<29.9:
print("您的体重过重 ~@_@~")
if bmi>=29.9:
print("肥胖 ^@_@^")
运行结果如下:
您的身高:1.7
您的体重:48.5
您的BMI指数为:16.782006920415228
您的体重过轻 ~@_@~
>>>
6.1.3、Python中的复数
在Python中的复数(complex),与数学中的复数的形式完全一致。
复数是由一个实数和一个虚数组合构成,表示为:a+bj,或者complex(a,b)。
一个复数时一对有序浮点数 (a,b),其中 a 是实数部分,b 是虚数部分。
Python 语言中有关复数的概念:
1、虚数不能单独存在,它们总是和一个值为 0.0 的实数部分一起构成一个复数
2、复数由实数部分和虚数部分构成
3、表示复数的语法:实数+虚数j
4、实数部分和虚数部分都是浮点数
5、虚数部分必须有后缀j或J
例如一个复数的实数为3.14,虚数为-12j,那么这个复数为3.14-12j,在Python IDLE中执行结果为:
>>> complex(3.14,-12)
(3.14-12j)
>>>
6.2、Python中的字符串
在Python中,字符串就是连续的字符序列,可以是计算机能够表示的一切字符的集合。
在Python中,字符串属于不可变序列,通常用单引号(' ')、双引号(" ")或者三引号(''' '''或""" """)括起来。
这3中引号形式在语义上没有差别,只是在形式上有些差别。其中,单引号和双引号中的字符序列必须在一行上;而三引号中的字符序列可以分布在连续的多行上。例如,定义3个字符串类型变量,并且应用print()函数输出,代码如下:
python = '人生苦短,我用Python' #使用单引号,其中字符序列必须在一行上
olzz = "建一个网站,创一番事业" #使用双引号,其中字符序列必须在一行上
#使用三引号,其中字符序列可以分布在多行上
en = '''Life is short,
I use Python '''
print(python)
print(olzz)
print(en)
运行以后,结果为:
人生苦短,我用Python
建一个网站,创一番事业
Life is short,
I use Python
>>>
站长在线提醒你:字符串开始和结尾的引号形式要一样的。当表示复杂语句时,可以进行引号的嵌套,如:
'在Python中可以使用双引号(" ")定义字符串'
'''(...)mmm'也是字符串哦"
*^--^*"'^--^'''
Python转义字符
Python的字符串还支持转义字符。所谓转义字符,是指使用反斜杠“\”对一些特殊字符进行转义。
Python中常用的转义字符及描述
\ 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\0 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数yy代表的字符,例如:\o12代表换行
\xyy 十进制数yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
站长在线特别提醒:在字符串定界符号前加上字母r(或R),其中该字符串将原样输出,不在进行转义。如,输出字符串 "建一个网站\x0a创一番事业"将转义输出;而输出字符串“r"建一个网站\x0a创一番事业"”则原样输出,运行结果如下:
>>> print("建一个网站\x0a创一番事业")
建一个网站
创一番事业
>>> print(r"建一个网站\x0a创一番事业")
建一个网站\x0a创一番事业
>>>
6.3、Python中的布尔类型
布尔类型主要来表示真或假的值。在Python中,标识符True和False被解释为布尔值。
另外,Python中布尔值可以转换为数值,其中True表示1,而False则表示0。
在Python中,对所以的对象都可以进行真值测试。其中,只有下面列出的4种情况得到的值为假,其他对象在if或者while语句中都表现为真。
6.3.1、False或None。
6.3.2、数值中的0,包括0、0.0、虚数0。
6.3.4、自定义对象的实例,该对象的__bool__方法返回False,或者__len__方法返回0。
关于对Python中的布尔类型的理解:
布尔类型:一种特殊的数据类型
1.布尔值只有两个:True 和 False
2.布尔值加上比较运算符,与两边的数据一起构成了布尔表达式,返回布尔值。所谓布尔表达式,其实就是条件测试的别名。
注:比较运算符
等于 ==
大于等于>=
小于等于 <=
不等于 !=
大于 >
小于 <
3.逻辑运算:条件语句中的条件最终都会转化为布尔值。
常见的三种逻辑运算:与运算、或运算、非运算
A 与运算 and 一假则假
B 或运算 or 一真则真
C 非运算 not 真假倒转
另外还需要注意成员运算符,in,判断某个数据是否为另一个数据的“成员”的运算符。
6.4、Python中数据类型转换
Python是动态语言,也称为弱类型语言。不需要像java或者C语言一样在使用变量前必须声明变量的类型。虽然Python不需要先声明变量的类型,但有时仍然需要用到类型的装换。
函数描述
int(x [,base])将x转换为一个整数
long(x [,base] )将x转换为一个长整数
float(x)将x转换到一个浮点数
complex(real [,imag])创建一个复数
str(x)将对象 x 转换为字符串
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变集合
dict(d)创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符
unichr(x)将一个整数转换为Unicode字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串
bin(x)将一个整数转换为一个二进制字符串
基本数据类型
1:虽然python中的变量不需要声明,但使用时必须赋值
2:可以一个给多个变量赋值,也可以多个给多个变量赋值
3:python3中有6个标准数据类型
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Sets(集合)
Dictionary(字典)
示例6.4:模拟超市的抹零结账
假设某超市因为找零麻烦,特设置了抹零结账的行为。先编写一段Python代码,模拟超市抹零结账的行为。
在IDLE中,创建一个csml.py的文件,然后将该文件中,首先将各个商品金额累加,计算出商品总额,并转成字符串输出;然后然后应用int()函数将浮点行的变量转为整行,从而实现抹零,并将转换为字符串输出。关键代码如下:
money_all = 29.9 + 26.9 + 68+ 29.6 + 39.8 # 累加总计金额
money_all_str = str(money_all) # 转换为字符串
print("商品总金额为:" + money_all_str)
money_real = int(money_all) # 进行抹零处理
money_real_str = str(money_real) # 转换为字符串
print("实收金额为:" + money_real_str)
运行结果如下:
商品总金额为:194.2
实收金额为:194
>>>
下节预告:零基础Python完全自学教程7:Python中的基本输入和输出
课后练习:(不定项选择题,最少一个答案,答案见下期)
6.1、下列说法正确的有( )
A、整数包括正整数、0、负整数。
B、整数类型包括十进制整数、八进制整数、十六进制整数、二进制整数。
C、浮点数由0、整数部分和小数部分组成。
D、在使用浮点数进行计算时,可能出现小数位数不确定的情况。
6.2、下列说法正确的有( )
A、复数是由一个实数和一个虚数组合构成。
B、表示复数的语法:实数+虚数。
C、python中的字符串,可以是计算机能够表示的一切字符。
D、通常用单引号(' ')、双引号(" ")或者三引号(''' '''或""" """)括起来。
6.3、下列说法正确的有( )
A、布尔类型主要来表示真或假的值。
B、Python中布尔值可以转换为数值,其中True表示1,而False则表示0。
C。在Python函数中,str(x)是指将对象 x 转换为字符串
D、在Python真值测试中,空序列,包括字符串、空元组、空列表、空字典为真。
上期答案:5.1、CD 5.2、ACD 5.3、A
文末福利:
1、关注站长在线官方公众号【站长在线】微信号:olzzcom ,文末也有公众号二维码,关注公众号以后回复python,本站精心整理的Python书籍、软件、工具都实时更新哦!本站所安装的python3.10、IDLE中文版 、PyCharm、Visual Studio Code、Sublime Text4等都在里面哦!
2、站长在线官方微信交流群已经开通了,微信扫码进入,一起交流,一起进步!
本文地址:https://www.olzz.com/pythonjbsjlx.html
阿里云虚拟主机1G空间,120元一年
香港、美国虚拟主机100元一年,1000元永久
腾讯云双十一0.4折起,2核8G5M三年仅700元,2核4G8M三年仅198元
猜你喜欢