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

青旅半醒 2022-12-13 04:10 382阅读 0赞

第3章 Python的基本数据类型

    • 3.1 数值数据类型
      • 3.1.1 整数与浮点数的运算
      • 3.1.2 强制数据类型的转换
      • 3.1.3 数值运算常用的函数
    • 3.2 布尔值数据类型
    • 3.3字符串数据类型
      • 3.3.1字符串的连接
      • 3.3.2处理多于一行的字符串
      • 3.3.3逸出字符
      • 3.3.4强制转换为字符串str()
      • 3.3.5字符数据的转换
      • 3.3.6使用字符串加法和换行字符\n

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()函数可列出变量的数据类型类别。

列出数值变量的数据类型:

  1. >>> x = 10
  2. >>> y = x / 3
  3. >>> print(x)
  4. 10
  5. >>> print(type(x))
  6. <class 'int'>
  7. >>> print(y)
  8. 3.3333333333333335
  9. >>> print(type(y))
  10. <class 'float'>
  11. >>>

3.1 数值数据类型

Python在声明变量时可以不用设置这个变量的数据类型,未来如果这个变量内容是存放整数,这个变量就是整数(int)数据类型;如果这个变量内容是存放浮点数,这个变量就是浮点数数据类型。整数与浮点数最大的区别是:整数不含小数点,浮点数含小数点。

3.1.1 整数与浮点数的运算

Python程序设计时不相同数据类型也可以执行运算,程序设计时,常会发生整数与浮点数之间的数据运算。Python具有简单的自动转换能力,在计算时会将整数转换为浮点数再执行运算。

不同数据类型的运算实例:

  1. >>> x = 10
  2. >>> y = x + 5.5
  3. >>> print(x, type(x), y, type(y))
  4. 10 <class 'int'> 15.5 <class 'float'>

此外,如果某一个变量是整数,如果最后所存储的值是浮点数,Python也会将此变量转换成浮点数。

  1. >>> x = 10
  2. >>> print(x, type(x))
  3. 10 <class 'int'>
  4. >>> x += 5.5
  5. >>> print(x, type(x))
  6. 15.5 <class 'float'>
  7. >>>

3.1.2 强制数据类型的转换

有时设计程序时,可自行强制使用下列函数,转换变量的数据类型。

  • int():将数据类型强制转换成整数。
  • float():将数据类型强制转换为浮点数。

将浮点数强制转换为整数的运算。

  1. # ch3_4.py
  2. x = 10.5
  3. print(x, type(x)) # 加法前列出x数据类型
  4. y = int(x) + 5
  5. print(y, type(y)) # 加法后列出y数据类型
  6. z = float(y) + 5
  7. print(z, type(z)) # 加法后列出z数据类型

执行结果:

  1. ============================== RESTART: E:/Python-Files/ch3/ch3_4.py =============================
  2. 10.5 <class 'float'>
  3. 15 <class 'int'>
  4. 20.0 <class 'float'>
  5. >>>

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。

    1. >>> x, y = round(1.5), round(2.5)
    2. >>> print(x, y)
    3. 2 2
    4. >>>

    处理小数时,采用下一小数字数采用“5”以下舍去,“51”以上进位的处理方式。例如:

    1. >>> round(2.15,1)
    2. 2.1
    3. >>> round(2.25,1)
    4. 2.2
    5. >>> round(2.151,1)
    6. 2.2
    7. >>> round(2.251,1)
    8. 2.3
    9. >>> round(2.152,2)
    10. 2.15
    11. >>> round(2.155,2)
    12. 2.15
    13. >>> round(2.156,2)
    14. 2.16
    15. >>> round(2.149,2)
    16. 2.15
    17. >>>

    abs()、pow()、round()函数的应用。

    1. # ch3_5.py
    2. x = -10
    3. print("以下输出abs()函数的应用")
    4. print(x) # 输出变量x
    5. print(abs(x)) # 输出abs(x)
    6. x, y = 5, 3
    7. print("以下输出pow()函数的应用")
    8. print(pow(x, y))
    9. x = 47.5
    10. print(round(x))
    11. x = 48.5
    12. print(round(x))
    13. x = 49.5
    14. print(round(x))
    15. print("以下输出round(x,n)函数的应用")
    16. x = 2.15
    17. print(round(x,1))
    18. x = 2.25
    19. print(round(x,1))
    20. x = 2.151
    21. print(round(x,1))
    22. x = 2.251
    23. print(round(x,1))
    24. ============================== RESTART: E:/Python-Files/ch3/ch3_5.py =============================
    25. 以下输出abs()函数的应用
    26. -10
    27. 10
    28. 以下输出pow()函数的应用
    29. 125
    30. 48
    31. 48
    32. 50
    33. 以下输出round(x,n)函数的应用
    34. 2.1
    35. 2.2
    36. 2.2
    37. 2.3
    38. >>>

3.2 布尔值数据类型

Python的布尔值(boolean)数据类型有两种,True(真)或False(伪),它的数据类型代号为bool。一般应用于程序流程的控制中,特别是条件语句中,程序可根据该布尔值判断应该如何执行工作。

  1. >>> x = True
  2. >>> print(x,type(x))
  3. True <class 'bool'>
  4. >>> y = False
  5. >>> print(y,type(y))
  6. False <class 'bool'>
  7. >>>

3.3字符串数据类型

字符串(string)数据是指两个单引号(’’)或双引号(””)之间任意个数符号的数据,其数据类型代号为str。在英文字符串的使用中,通常会出现字符串中间出现单引号(单引号也属于字符串中的一部分),这种情况下,可以使用双引号或转义字符处理。

  1. >>> x = 'This is Tom's book!' SyntaxError: invalid syntax >>> x = "This is Tom's book!"
  2. >>> print(x)
  3. This is Tom's book! >>> x = 'This is Tom\'s book!' >>> print(x) This is Tom's book!
  4. >>>

3.3.1字符串的连接

数学的运算符“+”,可以执行两个字符串相加,产生新的字符串。

  1. x = 123
  2. y = 456
  3. z = x + y
  4. print("数值相加:",z)
  5. str1 = "123"
  6. str2 = "456"
  7. str3 = str1 + str2
  8. print("由数值组成的字符串相加:",str3)
  9. str4 = str1 + " " + str2
  10. print("由数值组成的字符串相加,同时中间加上一个空格:",str4)
  11. str5 = "Hello"
  12. str6 = "World!"
  13. str7 = str5 + str6
  14. print("一般字符串相加:",str7)
  15. 数值相加: 579
  16. 由数值组成的字符串相加: 123456
  17. 由数值组成的字符串相加,同时中间加上一个空格: 123 456
  18. 一般字符串相加: HelloWorld!

3.3.2处理多于一行的字符串

如果字符串长度多于一行,可以使用3个单引号(或3个双引号)将字符串包括即可。(与注释的处理方式类似)

  1. str1 = '''天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为, 所以动心忍性,增益其所不能。'''
  2. print(str1)
  3. str2 = """北冥有鱼,其名为鲲。鲲之大,不知其几千里也;化而为鸟,其名为鹏。鹏之背,不知其几千里也;怒而飞,其翼若垂天之云。 是鸟也,海运则将徙于南冥。南冥者,天池也。"""
  4. print(str2)
  5. 天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,
  6. 所以动心忍性,增益其所不能。
  7. 北冥有鱼,其名为鲲。鲲之大,不知其几千里也;化而为鸟,其名为鹏。鹏之背,不知其几千里也;怒而飞,其翼若垂天之云。
  8. 是鸟也,海运则将徙于南冥。南冥者,天池也。

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 垂直定位

字符串使用过程中,尤其是碰到字符串含有单引号时,如果是使用单引号定义这个字符串,必须使用逸出字符;如果使用的是双引号定义该字符串,则可以不使用逸出字符。

  1. # 以下输出使用单引号设置的字符串,需使用\'
  2. str1 = 'I can\'t stop loving you.'
  3. print(str1)
  4. # 以下输出使用双引号设置的字符串,不需使用\'
  5. str2 = "I can't stop loving you."
  6. print(str2)
  7. # 以下输出有\t和\n字符
  8. str3 = "I \tcan't stop \nloving you."
  9. print(str3)
  10. I can't stop loving you. I can't stop loving you.
  11. I can't stop
  12. loving you.

3.3.4强制转换为字符串str()

str()函数可以强制将数值数据转换为字符串数据。

  1. x = 123
  2. y = 456
  3. z = x + y
  4. print("数值相加:",z,type(z))
  5. str1 = str(x) + str(y)
  6. print("强制转换为字符串相加:",str1,type(str1))
  7. 数值相加: 579 <class 'int'>
  8. 强制转换为字符串相加: 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”,即可产生字符串分行输出的结果。

  1. str1 = "天行健,君子以自强不息"
  2. str2 = "地势坤,君子以厚德载物"
  3. str3 = str1 + "\n" + str2 + "\n"
  4. print(str3)
  5. 天行健,君子以自强不息
  6. 地势坤,君子以厚德载物

往期文章:

  • 《Python零基础快乐学习之旅》学习笔记2——认识变量与基本数学运算

发表评论

表情:
评论列表 (有 0 条评论,382人围观)

还没有评论,来说两句吧...

相关阅读