《Python零基础快乐学习之旅》学习笔记3——Python的基本数据类型

Python的基本数据类型有下列几种:

  1. 数值数据类型(numeric type)。常见的数值数据可分为整数(int)类型、浮点数(float)类型,不论是整数或浮点数都可以是任意大小。
  2. 布尔值(boolean)数据类型。也可归为数值数据类型。
  3. 文字序列类型(text sequence type)。即字符串(string)数据类型。
  4. 序列类型(sequence type)。list、tuple。
  5. 对映类型(mapping type)。dict。
  6. 集合类型(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 数值运算常用的函数

下列是数值运算时常用的函数:

  1. abs():计算绝对值。

  2. pow(x,y):返回x的y次方。

  3. 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)
天行健,君子以自强不息
地势坤,君子以厚德载物

猜你喜欢

转载自blog.csdn.net/username666/article/details/108984226