目录
python 使用 input() 获取用户的输入,该操作属于无脑式输入,不管在键盘上敲入什么内容都会当作字符串类型返回,也就是说如果想输入数字,那么需要配合 eval()、int()、float() 函数进行转换。
1、输入字符串
输入过程以敲下回车键为结束标志。字符串长啥样就直接无脑输入就行
a_str = input("随便输入一个字符串试试:")
print(a_str)
"""
运行结果:
随便输入一个字符串试试:好的 我就随便输入了
好的 我就随便输入了
"""
2、输入数字
输入的任何数据都会被当作字符串返回,所以如果输入数字的话还需要配合 eval()、int()、float() 函数做进一步转换。
a_digit = input("随便输入一个数字试试:") # 输入 "123.456"
print(type(a_digit)) # <class 'str'>
a_digit = eval(a_digit) # 使用 eval 解析 也可以使用 float() 函数转换
print(a_digit) # 123.456
print(type(a_digit)) # <class 'float'>
运行结果:
"""
随便输入一个列表试试:123.456
<class 'str'>
123.456
<class 'float'>
"""
3、输入列表 — 理解 eval() 函数的使用
eval() 函数的作用类似于去掉字符串的引号,引号内的内容按照普通的 python 语句来执行,前提是要是合法的语句。
比如可以使用 2 中的例子输入一串列表数据,然后使用 eval 解析:
a_list = input("随便输入一个列表试试:")
print(type(a_list))
a_digit = eval(a_list)
print(a_list)
print(type(a_list))
运行结果:
"""
随便输入一个列表试试:[1, 2, 3, 4, 5, 6]
<class 'str'>
[1, 2, 3, 4, 5, 6]
<class 'list'>
"""
还可以输入元组、字典、表达式等只要是去掉引号后能运行的东西都行
a_equal = eval(input("随便输入一个表达式试试:")) # 1 + 1
print(a_equal) # 1 + 1 = 2
运行结果:
"""
随便输入一个表达式试试:1 + 1
2
"""
4、输出 print
一般的数据类型可以使用 print 直接输出。另外与其他语言类似,print 也支持格式化输出
以下例子用来意会吧:
a = 123.456
print("%8.2f" % a) # 默认左对齐
print("%-8.2f" % a) # - 表示右对齐
输出结果,8个单位宽度,2位小数
"""
123.46
123.46
"""
再来一个可以加分隔符的例子意会一下:
a = 0
b = 1
c = 2
print(a,b,c)
print(a,b,c, sep="_")
"""
0 1 2
0_1_2
"""
再来一个可以加后缀的例子意会一下:
a = 0
b = 1
c = 2
print(a,b, end="-->")
print(c)
"""
0 1-->2
"""