① 通过input()函数,可以获取用户输入的字符串(注意str类型为字符串),如:
str = input()
② 若想输入数字,如整型、浮点型等其他类型,需要在输入时做强制转换。如果直接在input()中输入数字“1”,其类型仍然是字符串。
str_1 = int(input())
str_2 = input()
print(type(str_1)) #
print(type(str_2)) #
① 字符串多输入,输出类型为列表
str = input().split() #展示:a b c d e
print(str)
print(type(str)) #
② 数值多输入
num = map(int,input().split()) # 输入数值为整型
# 此时num类型为:
# 若想得到列表,可在外叠加强制转换:
num = list(map(int,input().split()))
print(type(num)) #
注意!!!
# 多输入不可直接强制转换,需要利用map()
num = int(input()).split() # 报错如下
# AttributeError: 'int' object has no attribute 'split'
或
# ValueError: invalid literal for int() with base 10: '1 2 3'
print("Hello world!")
a = float(input())
print('%.2f'%a) # 取
——————————————————
Input:3.444
Output:3.44
name = input()
print('I am {} and I am studying Python in Nowcoder!'.format(name))
———————————————————
Input:Niuniu
Output:I am Niuniu and I am studying Python in Nowcoder!
数据类型 | 表示 |
---|---|
字符串 | string |
整型 | int |
浮点型 | float |
布尔型 | bool |
列表 | list |
元组 | tuple |
字典 | dict |
集合 | set |
可变数据类型:列表,字典,集合
不可变数据类型:字符串,数字,元组
容器类型数据:字符串,列表,元组,字典,集合
非容器类型数据:数字,布尔类型
因为不同的数据类型之间不能运算,在程序运行中经常需要对不同的数据类型进行运算,这时候我们就需要先将数据类型转换成同一类型再进行运算。
数据类型转换有两种方式:自动类型转换和强制类型转换
一般用于不同的数字类型转换,当两个不同的值进行运算时,结果会向精度更高的数字进行计算。
数字类型的优先级:布尔(bool) > 整型(int) > 浮点数(float) > 复数
强制类型转换是值通过python的内置转换函数进行转换。常用函数如下表:
函数 | 说明 |
---|---|
str(x) | 将x转换为字符串类型 |
int(x) | 将x转换为整数型 |
float(x) | 将x转换为浮点数类型 |
bool(x) | 将x转换为布尔型 |
list(x) | 将x转换为列表 |
tuple(x) | 将x转换为元组 |
dict(x) | 将x转换为字典 |
set(x) | 将x转换为集合 |
所有其它数据类型都可以转换为字符串类型,只有纯数字的字符串可以转换整数类型,只有纯数字或纯数字+“."的字符串可以转换为浮点数型。float 和 int 类型相互转,两者互相转换时没有四舍五入,需要四舍五入可以使用 round() 函数。
bool() 可以把其它类型的数据转换为 True 或 False。空字符串、空列表、空字典、空元组、空集合以及0,0.0 转换为 bool 型的 False。
其他类型转换函数 | 说明 |
---|---|
eval(str) | 计算在字符串中的有效Python表达式,并返回一个对象 |
chr(x) | 将一个整数转换为一个 Unicode 字符 |
ord(x) | 将一个字符转换为它的 ASCII 整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
bin(x) | 将一个整数转换为一个二进制字符串 |