零基础Python完全自学教程6:Python中的基本数据类型

    时间: 浏览:1695次  来源:站长在线
欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础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.3、空序列,包括字符串、空元组、空列表、空字典

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中文版 、PyCharmVisual Studio CodeSublime Text4等都在里面哦!

2、站长在线官方微信交流群已经开通了,微信扫码进入,一起交流,一起进步!



本文地址:https://www.olzz.com/pythonjbsjlx.html
码字不易,打个赏呗
杨泽业感谢你的支持!

猜你喜欢

域名pythonw.cn出售

域名pythonw.cn的详细信息:Python网

2022-08-06  分类:域名出售  浏览:1381次


站长在线Python教程:Python中类定义详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中类定义详解》。

2022-02-23  分类:Python学堂  浏览:1919次


站长在线Python教程:python中面向对象相关概述详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《python中面向对象相关概述详解》。本文的主要内容有:面向对象是什么、面向对象中的对象是什么、Python中的类是什么、面向对象编程的特点有哪些?

2022-02-14  分类:Python学堂  浏览:1625次


站长在线零基础Python完全自学教程23:函数的返回值、作用域和匿名函数

导读:欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第23课《函数的返回值、作用域和匿名函数》。本文是一个大课程分成了下面4节小课程:Python中函数的返回值、Python函数中的局部变量、Python函数中的全局变量、Python函数中的匿名函数等内容。

2022-02-09  分类:Python学堂  浏览:1499次


站长在线Python教程:Python函数中的匿名函数详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python函数中的匿名函数详解》。本文的主要内容有:匿名函数的定义、匿名函数的表达式、匿名函数的注意点、匿名函数的优点、匿名函数的应用举例。

2022-02-01  分类:Python学堂  浏览:1613次


站长在线Python教程精讲:在Python函数中的全局变量详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中的全局变量详解》。本文的主要内容有:什么是全局变量、在函数外部定义的变量是全局变量、在函数内部定义中添加global关键词后变成全局变量。

2022-01-10  分类:Python学堂  浏览:1726次


站长在线Python教程精讲:在Python函数中的局部变量详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python函数中的局部变量详解》。本文的主要内容有:变量的作用域的概念、局部变量的概念、局部变量的举例。

2022-01-06  分类:Python学堂  浏览:1635次


Python常用英语及用法

站长在线站长,准备系统的学习Python知识,但是对我来说,英语实在是太差了,当然我知道的是,不仅仅我,很多人在学习Python的时候,也是不知道这些英语单词的意思与用法的,在这里站长在线站长就把这些英语整理出来,把英语以及中文意思、用法一起贴出来,让大家一起来学习。

2022-01-02  分类:Python学堂  浏览:1842次


站长在线Python精讲:Python中函数的返回值

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中函数的返回值》。本文的主要内容有:函数的返回值的含义、函数设置返回值的作用、return语句位置与多条 return语句的总结。

2021-12-29  分类:Python学堂  浏览:1804次


站长在线零基础Python完全自学教程22:在Python中函数的参数传递

欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第22课《在Python中函数的参数传递》。本文是一个大课程分成了下面5节小课程:在Python函数中理解形式参数和实际参数、在Python函数中参数传递的位置参数详解、在Python函数中的关键字参数详解、在Python函数中的默认参数详解、在Python函数中的可变参数详解。

2021-12-26  分类:Python学堂  浏览:1588次