Appearance
数据类型
数据类型概览
python 中有以下数据类型
下面我们分别输出这些类型,具体的类型使用方法,我们会在后面单独讲
整型
py
a = 1
# 输出结果:<class 'int'>
print(type(a))
浮点型
py
a = 1.1
# 输出结果:<class 'float'>
print(type(a))
布尔
py
a = True
# 输出结果: <class 'bool'>
print(type(a))
字符串
py
a = "1234"
# 输出结果:<class 'str'>
print(type(a))
列表:
py
a = [1, 2, 3, 4]
# 输出结果:<class 'list'>
print(type(a))
元组
py
# 输出结果:<class 'tuple'>
a = (1, 2, 3, 4)
print(type(a))
字典
py
a = {"name": "xiaoqiang", "age": 18}
# 输出结果:<class 'dict'>
print(type(a))
集合
py
a = {1, 2, 3, 4}
# 输出结果:<class 'set'>
print(type(a))
输入输出
输出函数
python 中输出内容我们使用 print 函数,前面的代码中我们也使用过这个函数,但是前面的代码仅仅是简单的输出,我们这小节详细的讲一下 print 这个输出函数,先来体验一下格式化输出
py
name = 'nodeing.com'
print('我正在%s这个网站学习python课程' % name)
%s 表示字符串输出,name 变量的值会替换掉%s 这个位置,上面代码的输出结果为
我正在nodeing.com这个网站学习python课程
上面我们仅仅是输出了字符串内容,还可以输出数字,数字精确到某位小数输出等都可以被支持,下面我们来看一下有哪些输出格式
格式符号 | 转换 |
---|---|
==%s== | 字符串 |
==%d== | 有符号的十进制整数 |
==%f== | 浮点数 |
%c | 字符 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写 ox) |
%X | 十六进制整数(大写 OX) |
%e | 科学计数法(小写'e') |
%E | 科学计数法(大写'E') |
%g | %f 和%e 的简写 |
%G | %f 和%E 的简写 |
举个例子:输出 2 位小数
py
a = 9.1234567
print('您购买商品的价格是:%.2f' % a)
输出结果
浮点数输出两位小数:9.12
我们使用输出,最常见的还是输出数字或者字符串模板,有更简便的方式支持输出,后面大家尽可能用这种方式
py
name = "zhangsan"
age = 18
print(f'我的名字叫:{name},我的年龄是:{age}')
用上面的方式比较简单,但是需要你的 python 版本大于等于 3.6
输入函数
当你的程序需要和用户交互,需要用户输入内容才能往下执行的时候,就需要用到输入函数,先来看一个案例,让用户输入用户名和密码
py
username = input("请输入用户名:")
password = input("请输入密码:")
print(f'您的用户名是:{username}, 您输入的密码是: {password}')
注意哈,上面的代码,我们不要使用 code runner 运行,我们要在终端里面去运行才有交互的效果
输出命令来运行 python 文件, 这里表示运行 01_hello.py 这个文件
python .\01_hello.py
运行完成后,让你输入用户名和密码,最后程序会帮你打印出结果
PS E:\workspace\python\python-basic> python .\01_hello.py
请输入用户名:zhangsan
请输入密码:123456
您的用户名是:zhangsan, 您输入的密码是: 123456
注意:input 接收的任何数据默认都是字符串数据类型, 这个要记住,我们在下个小节中讲数据类型转换需要注意到这个特点
数据类型转换
数据类型转换的意思就是把不同的类型转换成你想要的类型,然后参与计算,数据类型转换需要内置的函数支持,可以参考下面的表
函数 | 说明 |
---|---|
==int(x [,base ])== | 将 x 转换为一个整数 |
==float(x )== | 将 x 转换为一个浮点数 |
complex(real [,imag ]) | 创建一个复数,real 为实部,imag 为虚部 |
==str(x )== | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
==eval(str )== | 用来计算在字符串中的有效 Python 表达式,并返回一个对象 |
==tuple(s )== | 将序列 s 转换为一个元组 |
==list(s )== | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个 Unicode 字符 |
ord(x ) | 将一个字符转换为它的 ASCII 整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
bin(x ) | 将一个整数转换为一个二进制字符串 |
你只需要记住数据类型怎么转换就行,上面的函数记不住到时候查询就行,举个例子
py
a = input("请输入数字a:")
b = input("请输入数字b:")
print(a + b)
运行结果
PS E:\workspace\python\python-basic> python .\01_hello.py
请输入数字a:1
请输入数字b:2
12
前面我们说过,input 输入的内容都是字符串类型,如果我们要做数字的加法,需要把 input 输入的内容转成数字类型,因此,我们需要修改上面的代码
py
a = int(input("请输入数字a:"))
b = int(input("请输入数字b:"))
print(a + b)
运行结果
PS E:\workspace\python\python-basic> python .\01_hello.py
请输入数字a:1
请输入数字b:2
3
这次的运行结果符合我们的预期,接下来的案例需要大家自行运行
py
# 1. float() -- 转换成浮点型
intnum = 1
print(float(intnum))
print(type(float(intnum)))
# 2. str() -- 浮点数转成字符串
floatnum = 10.0
print(type(str(floatnum)))
# 3. tuple() -- 将列表转成元组
lis = [10, 20, 30]
print(tuple(lis))
print(type(tuple(lis)))
# 4. list() -- 将元组转成列表
t1 = (100, 200, 300)
print(list(t1))
print(type(list(t1)))
# 5. eval() -- 将字符串中的数据转换成Python表达式原本类型
str1 = '10'
str2 = '[1, 2, 3]'
str3 = '(1000, 2000, 3000)'
print(type(eval(str1)))
print(type(eval(str2)))
print(type(eval(str3)))