Python3快速入门-2数据类型

本文介绍了Python3的基础数据类型,包括注释、变量、关键字、数字(整型、浮点型、复数、布尔类型)、字符串(表示方法、转义字符、基本操作)、列表(表示方法、基本操作)、元组(表示方法、基本操作)和集合(表示方法、基本操作)。详细讲解了每种数据类型的特性和使用方法,如变量的重新赋值、字符串的不可变性、列表和元组的区别、集合的无序性等,并提供了大量的示例代码。
摘要由CSDN通过智能技术生成

2.Python3数据类型

2.1基础知识

2.1.1 Python3注释

在Python中,有2种注释方式:单行注释、多行注释。

单行注释:使用#作为单行注释符号。

>>> print('hello world') #单行注释

hello world

>>> #print('hello world')

>>> 

多行注释:使用三引号(‘’’或”””)作为多行注释符号。

>>> '''

hello python

多行注释

hello world

'''

'\nhello python\n多行注释\nhello world\n'

>>> """

hello python

多行注释

hello world

"""

'\nhello python\n多行注释\nhello world\n'

>>> 

注:三引号中的注释本质上是字符串。当这个字符串不使用时,表示的就是注释;当字符串使用时,如赋值给变量,其当作字符串来处理。

2.1.2变量

问题:当对一个很长的列表进行复杂运算时,难道每一次运算都要书写这个长列表吗?

解决:使用变量来表示这个长列表。

变量,简而言之就是数据的名称。变量 = 数据,其中”=”称为赋值符号。

变量命名规则:

(1)由字母、数字、下划线(_)组成;

(2)首字母不能是数字;

(3)不能使用特殊符号,如*、$、%等;

(4)变量名不能使用系统关键字,如False、Ture、and、if等。

(5)尽量不要使用函数名来作为变量,如下所示使用type、print函数举例。

重点1:变量的重新赋值

在C语言中,命名一个整形变量int a = 1,a只能是整形变量,无法将其他类型的数据赋值给它,如a = ‘1’就是错误的;在Python中,变量是没有数据类型的,如a = 1,a还可以表示列表,如a = [1,2,3]。

重点2:将多个值分配给多个变量

使用逗号隔开即可。

重点3:变量类型

在Python中,有值类型和引用类型。

数字、字符串、元组都是值类型;列表、集合、字典都是引用类型。数字由于是重新赋值,因此是指类型;字符串和元组不可变,因此也是值类型。

若是重新赋值,则会重新开辟内存空间来存放变量,如下所示:

图中,字符串无法改变但是可以重新赋值,重新赋值后变量str1指向的地址改变,而str2还指向原来的地址,因此str1改变、str2不变。同理,列表A也是重新赋值。

注:字符串中的”+=”也是重新开辟内存空间。

2.1.3关键字

在Python shell中输入help('keywords'),可以查看所有系统关键字。

关键字的含义在后面会一一介绍。

2.2 Number-数字

在数字类型中,分为整形(int)、浮点型(float)、bool型、复数(complex)。

2.2.1整形-int

在C++中,整形有short、int、long、long long;而在Python中,整形只有int。

>>> a = 123456

>>> print(a)

123456

>>> type(a)

<class 'int'>

我们常用的数据都是10进制,而在Python中还有2进制、8进制、16进制。2进制数据以0b/0B开头;8进制以0o/0O开头;16进制以0x/0X开头。

bin()函数将数据转换为2进制;oct()函数将数据转换为8进制;int()函数将数据转换为10进制;hex()函数将数据转换为16进制。

2.2.2浮点型-float

在C++中,浮点数可以分为单精度float、双精度double;但是在Python中,浮点数只用float表示。

在Python中,整数可以是任何长度,但是浮点数只能精确到16位。

>>> a = 0.1234567890123456789

>>> print(a)

0.12345678901234568

int()函数不仅可以进制转换,还可以将浮点数转换为整数;而float()函数可以将整数转换为浮点数。

>>> int(1.2)

1

>>> float(1)

1.0

当执行除法运算时,其返回值必定是浮点数。

>>> type(1/1)

<class 'float'>

注:当执行0.1+0.2,应该等于0.3,但Python并不这么认为!

>>> 0.1 + 0.2

0.30000000000000004

原因:由于计算机只能识别0和1,因此浮点数在计算机中不能准确表达。这是计算机硬件的局限性。

2.2.3复数-complex

复数在Python中以x+yj的形式构成,x表示实部,y表示虚部。

>>> type(1+2j)

<class 'complex'>

complex()函数可以将整数、浮点数转换为复数。

>>> complex(2)

(2+0j)

>>> complex(1.1)

(1.1+0j)

2.2.4布尔类型-bool

布尔类型用非0值表示True,True表示“真”的意思,转换成int等于1;用0、’’、[]、()、{}、None表示False,False表示“假”的意思,转换成int等于0。

>>> type(True)

<class 'bool'>

>>> type(False)

<class 'bool'>

bool()函数可以将其他类型转换为布尔类型。

>>> bool(1.1)

True

>>> bool('1')

True

>>> bool(None)

False

2.3 str-字符串

2.3.1字符串的表示方法

在Python中,字符串用单引号(’’)或双引号(””)来表示;多行字符串使用三引号(‘’’或”””)表示。

>>> str1 = 'hello'

>>> type(str1)

<class 'str'>

>>> str2 = "world"

>>> type(str2)

<class 'str'>

>>> str3 = '''hello

world'''

>>> print(str3)

hello

world

>>> type(str3)

<class 'str'>

>>> str4 = """

hello world

hello python

"""

>>> print(str4)

 

hello world

hello python

 

>>> type(str4)

<class 'str'>

问题1:如何表示Let's learn Python?

>>> 'let's learn Python'

SyntaxError: invalid syntax

方法1:使用双引号(推荐)

>>> "let's learn Python"

"let's learn Python"

方法2:外部单引号,内部双引号

>>> 'let"s learn Python'

'let"s learn Python'

方法3:使用转移字符

>>> 'let\'s learn Python'

"let's learn Python"

问题2:前面str4的打印中为什么前后空一行?

原因:当表示多行字符串中,换行符不被显示。

>>> '''

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值