5. Python 数据类型

235 阅读3分钟

1. 变量的定义与使用

  • 变量名必须是一个有效的标识符。

  • 变量名不能使用 Python 中的保留字。

  • 慎用小写字母 i 和大写字母 O

  • 应选择有意义的单词作为变量名。

  • 为变量赋值可以通过 = 来实现。语法格式为:

# 如果直接赋值一个字符串值,那么该变量即为字符串
my_name = '姚成健'
print(type(my_name))
# 如果直接赋值一个数字,那么该变量即为数值类型
number = 1024
print(type(number))

说明:使用内置函数type()可以返回变量类型。使用内置函数id()可以获取变量的内存地址。

2. 基本数据类型

  • 整数:整数数值,即没有小数部分。整数包括正整数,负整数。
num = 125
  • 浮点数:浮点数由整数部分和小数部分组成,主要用于处理包括小数的数。
num = 12.5
  • 复数:Python 中的复数与数学中的复数形式完全一致,都是由实部和虚部组成,并且使用jJ 表示虚部。当表示一个复数时,可以将其实部和虚部相加,例如。
num = 3.14 + 12.5j
print(num)
  • 字符串类型:通常使用单引号''或者""或者''' '''括起来。这三种引号形式在语义上没有差别,只是在形式上有些差别。其中单引号和双引号中的字符必须在一行上,而三引号内的字符序列可以分布在连续的多行上。
title = '我喜欢的名言警句'
mot_cn = "命运给予我们的不是失望之酒,而是机会之怀"
mot_en = ''' i like 
  python
'''

print(title)
print(mot_cn)
print(mot_en)
  • 布尔类型:布尔类型主要用来表示真值或假值。另外,python中的布尔值可以转化为数值,true 表示1,false表示0

    • 注意:在Python中,所有的对象都可以进行真值测试。只有下面列出几种情况得到值为假,其他对象在 if 或者 while 语句都表现为真

      • false 或 none。

      • 数值中的零,包括 0 、0.0、虚数 0。

      • 空序列,包括字符串、空元组、空列表、空字典。

      • 自定义对象的实例,该对象的 bool 方法返回 false 或者 len 方法返回 0。

3. 数据类型转换

  • Python 是动态类型的语言(也称为弱类型语言),不需要像 Java 或者 C 语言一样使用变量前声明变量的类型。虽然 Python 不需要先声明变量的类型,但有时仍然需要用到类型转换。例如:要想通过一个 print() 函数输出提示文字 "您的身高:" 和 浮点型变量 height 的值,就需要将浮点型变量 height 转换为字符串,否则就会报错
height = 100
print('您的身高是:' + height)  # 这样会报错
print('您的身高是:' + str(height))
  • 常用类型转换函数及其作用

    • int(x):将 x 转换成整数类型
    height = 100.1
    print(int(height)) # 100
    
    • float(x):将 x 转换成浮点数类型
    height = 100
    print(float(height)) # 100.0
    
    • complex(real[,imag]):创建一个复数

      • real:整形、浮点型或者数字字符串,为数字字符串时,不需要 imag 参数
      • imag:整形、浮点型或者数字字符串
      print(complex(1,2)) # 1+2j
      print(complex('23')) # 23+0j
      
    • str(x):将 x 转换为字符串

    print(str(1)) # '1'
    
    • repr(x):将 x 转换为表达式字符串
    s = 'RUNOOB'
    print(repr(s)) # "'RUNOOB'"
    
    dict = { 'runoob': 'runoob.com', 'google': 'google.com' }
    print(repr(dict)) # "'{ 'runoob': 'runoob.com', 'google': 'google.com' }'"
    
    • eval(str):计算在字符串中的有效Python表达式,并返回一个对象
    dict = "{ 'runoob': 'runoob.com', 'google': 'google.com' }"
    print(eval(dict)) # { 'runoob': 'runoob.com', 'google': 'google.com' }
    
    • chr(x):返回当前整数对应的 ASCLL 字符
    print(chr(48)) # 0
    print(chr(49)) # 1
    print(chr(50)) # a
    
    • ord(x):以一个字符串作为参数,返回对应 ASCLL 数字,或者 Unicode 数值
    print(chr('0')) # 48
    print(chr('1')) # 49
    print(chr('a')) # 50
    
    • hex(x):将一个整数 x 转换为一个十六进制字符串

    • oct(x):将一个整数 x 转换为一个八进制的字符串