数据类型
❝python入门第二课,数据类型,它是编程语言的核心概念,它定义了数据的性质、存储方式和可执行的操作,是构建程序逻辑的基石。
注意:在 Python 中:变量无类型,数据有类型。
例如a = 10,其中a是没有类型的,但a所关联的数据10是有类型的,10是整型,我们经常说a是整型,其实是一种不太严谨的表述,严谨的表述应该是:a所对应的数据10是整型。
查看数据类型
通过type()可以查看数据类型,type()会返回当前数据的具体类型。
# 使用变量接收 type() 返回的类型result1 = type('张三')result2 = type(18)result3 = type(72.5)print(result1) # <class 'str'> 注意此处返回的不是string,是 string 的简写:strprint(result2) # <class 'int'>print(result3) # <class 'float'>
常用数据类型
整形(int)
整型就是没有小数点的数字, Python 中的整型,可以是任意大小的整数,包括负整数。
分隔符:当书写很大的数时,可使用下划线将数字分组,使其更清晰易读;Python 自动忽略数字之间的下划线,并且这种写法也适用于浮点数,但要注意:此种写法只有 Python3.6 及以上版本才支持。
num1 = 10_000_000print(num1)
整型上限值:Python 中存储整数上限值的大小取决于:计算机的内存和处理能力。
浮点型(float)
浮点型就是带小数点的数字,比如:3.14、-0.5、2.0都是浮点数。
浮点型的2种表示方式:
# 浮点型就是带有小数点的数字。weight = 65.2balance = 1425.58out_temp = -25.2price = 120.0
# 浮点型的科学计数法表示。speed_of_sound = 3.4e+2# 3.4乘以10的2次方。world_population = 7.8e9# 7.8乘以10的9次方。distance_sun_earth = 1.496E8# 1.496乘以10的8次方。speed_of_light = 2.998E+8# 2.998乘以10的8次方。one_ml = 1e-3# 1乘以10的-3次方。one_mg = 1E-3# 1乘以10的-3次方。
字符串(string)
字符的四种定义方式:
字符串的格式化输出:
- 写法 1:直接用加号进行拼接,写起来很麻烦,而且只能是字符串之间拼接。
name = '张三'gender = '男'weight = 65.2age = 12info1 = '我叫' + name + ',我是' + gender + '生'
%s是万能的(如果我们提供的数据不是字符串,那 Python 就会把数据转成字符串)。
name = '张三'gender = '男'weight = 65.2age = 12info2 = '我叫%s,我是%s生,我体重是%f,年龄是%d' % (name, gender, weight, age)
- 写法 3:使用 f-string,这是目前 Python 最推荐的方式。
name = '张三'gender = '男'weight = 65.2age = 12info3 = f'我叫{name},我是{gender}生,我体重是{weight},年龄是{age}'
占位符精度控:
在占位符前方,可以使用m.n的形式来指定精度,具体规则见下图:



示例代码:
info = '我叫%-4.1s,性别是%3.2s,体重是%-9.3f,年龄是%-6.4d' % (name, gender, weight, age)
转义字符:
在字符串中,有些字符不能直接写(换行、制表符、引号等)这时就要使用转义字符。
常见的转义字符梳理:
示例代码:
# 使用 \' 输出 'print('在Python中,可以使用\'包裹一个字符串')# 使用 \" 输出 "print("在Python中,可以使用\"包裹一个字符串")# 使用 \n 进行换行print('注册会员需要以下信息:\n姓名\n年龄\n手机号')# 使用 \\ 输出 \print('D:\\nice')# 使用 \b 删除前一个字符print('helloo\b')# 使用 \r 使光标回到本行开头,覆盖输出print('67%\r68%')# 使用 \t 表示水平制表符(让光标跳转到下一个制表位)# 一个制表位到底是几位,是不确定的,但我们可以通过在字符串后面加.expandtabs()来指定位数。print('1234123412341234')print('ab\tcd'.expandtabs(4))print('abc\td'.expandtabs(4))print('abcd\ta'.expandtabs(4))print('我是\t中文'.expandtabs(4))print('12341234123412341234')print('姓名\t性别\t年龄')print('张三\t男\t\t18')print('李四\t女\t\t25')print('王五\t男\t\t32')
布尔型(boolean)
布尔类型只有两个值,分别是:True和False,其中:True表示真,False表示假。(注意:True 和 False 的首字母必须大写。)
# 定义布尔值a = Trueb = False
布尔值常用于表示:条件是否成立、事件是否发生、操作是否成功、等逻辑状态。
# 靠程序执行得到的布尔值c = 5 > 3d = 7 < 2print(type(c), c) # Trueprint(type(d), d) # Flase
布尔类型是int类型的子类型,底层的本质是用1表示True,用0表示False。
除0以外的任何数,转为布尔值后都为 True。
除空字符串以外的任何字符串,转为布尔值都是 True。
数据类型转换

注意:int('') 会报错,错误的写法。
补充:bool(x) 将x转换为布尔型。
# 转换数字print(bool(1)) # Trueprint(bool(0)) # Falseprint(bool(300)) # Trueprint(bool(25.6)) # Trueprint(bool(1.8e3)) # Trueprint(bool(12_000)) # Trueprint(bool(-10)) # True# 转换字符串print(bool('hello')) # Trueprint(bool('0')) # Trueprint(bool('18.5')) # Trueprint(bool('-9')) # Trueprint(bool('')) # False