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

    时间: 浏览:121次  来源:站长在线
欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础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
码字不易,打个赏呗
站长在线小编感谢你的支持!
站长在线站长一对一技术培训,100元两个小时
阿里云虚拟主机1G空间,120元一年
香港、美国虚拟主机100元一年,1000元永久
腾讯云双十一0.4折起,2核8G5M三年仅700元,2核4G8M三年仅198元

猜你喜欢

站长在线Python精讲:Python中正则表达式的语法详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中正则表达式的语法详解》。本知识点主要内容有9点:行定位符、元字符、限定符、字符集、排除字符、选择字符、转义字符、分组、在Python中使用正则表达式语法。

2021-12-07  分类:Python教程  浏览:12次


站长在线零基础Python完全自学教程19:python中字符串完全解读

欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第19课《 python中字符串完全解读》。本节课是一个大课,我分了这些知识点进行详细讲解:字符串编码转换:encode编码和decode解码详解、使用“+”运算符来拼接字符串详解、使用len()函数计算字符串的长度详解、使用索引和切片的方法截取字符串详解、使用split()方法分割、使用join()方法合并字符串详解、检索字符串的5大方法详解、字符串中字母的大小写转换的4大方法详解、去除字符串中的空格和特殊字符的4个方法详解、格式化字符串的两种方法详解。

2021-12-05  分类:Python教程  浏览:32次


站长在线Python精讲:在Python中格式化字符串的两种方法详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中格式化字符串的两种方法详解》。本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字符串。

2021-12-04  分类:Python教程  浏览:34次


站长在线Python精讲:在Python中去除字符串中的空格和特殊字符的4个方法详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中去除字符串中的空格和特殊字符的4个方法详解》。本知识点主要内容有:使用strip()方法用于去掉字符串左、右两侧的空格和特殊字符、使用lstrip()方法用于去掉字符串左侧的空格和特殊字符、使用rstrip()方法用于去掉字符串右侧的空格和特殊字符、使用replace()方法,删除中间的空格和特殊字符。

2021-12-03  分类:Python教程  浏览:36次


站长在线经典Python题:使用Python编程思想解决鸡兔同笼的问题的4种方法

欢迎你来到站长在线的Python题库,鸡兔写完Python教程以后,还是来一个Python的题目吧!想来想去,还是写一个经典的题目为好,作为本栏目的第一个题目。我就想到了比较热门的题目《鸡兔同笼的问题》,本文不是用数学的方法,而是用Python编程的方法解决鸡兔同笼的问题。用的就是《Python中的三大程序结构》: 顺序结构、选择结构和循环结构。解决问题具体的方法就是;顺序语句假设法、选择语句判定法、while循环语句遍历法、for循环语句遍历法。下面我来一一解答:

2021-12-01  分类:Python题库  浏览:47次


站长在线Python精讲:在Python字符串中字母的大小写转换的4大方法详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python字符串中字母的大小写转换的4大方法详解》。本知识点主要内容有:使用lower()方法,把所有大写字母转换成小写字母、使用upper()方法,把所有小写字母转换成大写字母、使用capitalize()方法,仅首字母转化为大写字母,其余小写字母、使用title()方法,把每个单词的首字母转化为大写字母,其余为小写字母。

2021-12-01  分类:Python教程  浏览:50次


站长在线Python精讲:在Python中检索字符串的5大方法详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中检索字符串的5大方法详解》。本知识点主要内容有:使用count()方法检索指定字符串在另一个字符串中出现的次数、使用find()方法检索是否包含指定的子字符串、使用index()方法检索是否包含指定的子字符串、使用startswith()方法用于检索字符串是否以指定子字符串开头和使用endswith()方法用于检索字符串是否以指定子字符串结尾。

2021-11-30  分类:Python教程  浏览:46次


站长在线Python精讲:在Python中使用split()方法分割、使用join()方法合并字符串详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用split()方法分割、使用join()方法合并字符串详解》。本知识点主要内容有:在Python中使用split()方法分割字符串和在Python中使用join()方法合并字符串。

2021-11-29  分类:Python教程  浏览:40次


站长在线Python精讲:在Python中使用索引和切片的方法截取字符串详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用索引和切片的方法截取字符串详解》。本知识点主要内容有:使用索引的方法截取一个字符串和使用切片的方法截取一段字符串。

2021-11-28  分类:Python教程  浏览:59次


站长在线python精讲:在Python中使用len()函数计算字符串的长度详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用len()函数计算字符串的长度详解》。本知识点主要内容有:在Python中使用len()函数计算字符串在UTF-8编码中的长度和使用len()函数计算字符串在GBK编码中的长度。

2021-11-27  分类:Python教程  浏览:61次