输入:input()
作用:
- 等待用户输入内容
- 阻塞(或暂停)程序的运行,等待回车动作
特点:
无论 input() 输入的是什么内容,返回的数据均是字符串类型
例如:
name = input("请输入你的名字:")
print(name, type(name)) # <class 'str'>
age = input("请输入你的年龄:")
print(age, type(age)) # <class 'str'>
输出:print()
作用:
打印
该函数有2个参数:其中,end 必须放在最后
sep=' '默认分隔 end="\n"默认换行
例如:
a = 1
b = 3
print(a + b) # 4
c = "hello"
d = "world"
print(c, d) # 逗号,起分隔作用 hello world
print(c + d, sep='') # 把默认的分隔值改掉 helloworld
print(c, d, sep='') # helloworld
print(c, d, sep=' ') # hello world
print(c, d) # hello world
print(c, d, end="_____") # 把默认的换行改为其他任意值时,则不会换行输出
print(c, end="**") # 上面的换行去掉后,会把下边这个输出内容紧随其后 hello world_____hello**
格式化输出:
第一种:百分号 % ,占位符(先挖个坑),然后用别的值来填充(填坑),常见的有以下几种:
%s: 输出字符串
%d: 输出整型(十进制),不分正负数
%o: 输出八进制
%x: 输出十六进制
%f: 输出浮点数,默认打印 6 位小数
例如:
print("我是%s,今年%d岁。" % ('maria', 18)) # 挖坑,填坑
第二种:format():格式化函数,输出字符串
例如:
name1 = input("name:")
gender1 = input("gender:")
print("{}{}".format(name1, gender1))
name3 = '小明'
age3 = 18
hobby3 = '羽毛球'
# 不带索引值
print("大家好,我是{},今年{}岁,我喜欢{}".format(name3, age3, hobby3))
# 带索引值
print("大家晚上好,我是{2},今年{0}岁,我喜欢{1}".format(name3, age3, hobby3))
# 附带关键字
print("明天疯狂星期四,我是{name3},今年{age3}岁,喜欢{love3}".format(name3=name3, age3=age3, love3=hobby3))
第三种:使用 f 表达式,格式化输出字符串
name2 = input("name:")
gender2 = input("gender:")
print(f"{name2}{gender2}") # python 3.6以后才出现的
常用的数据类型:
常用的数据类型有以下 7 种:
整型:int,正负整数皆可
浮点型:float, 默认打印 6 位小数
布尔型:True、False,只有这2种值,非 True 即 False
列表:list 写法:[1, 2, 4, 6, 8, 10]
元组:tuple 写法:(1, 2, 4, 6, 8, 10)
集合:set 写法:{1, 2, 4, 6, 8, 10}
字典:dict 写法:{"a": "200"}
数据类型的转换:
例如:
number1 = input("请输入一个小数:")
number2 = float(number1) # 字符串转换为浮点数
# number2 = int(number1) # 字符串不能直接转为整数
number3 = int(number2) # 浮点数转换为整数
number4 = str(number2) # 浮点数转换为字符串
number5 = float(number3) # 整数转换为浮点数
number6 = str(number3) # 整数转换为字符串
# 将一个序列(列表)转换为元组 tuple()
list1 = [1, 3, 4, 5]
print(tuple(list1))
# 将一个元组转换为序列(列表) list()
tuple1 = (1, 3, 4, 5)
print(list(tuple1))
eval()函数 ,作用:剥去外壳,将字符串中的数据转换为 Python 原来的样子
# 将字符串中的数据转换为python原来的样子 eval(),剥去外壳
str1 = "100"
str2 = '[100, 3, 4, 5]'
print(type(eval(str1))) # <class 'int'>
print(type(eval(str2))) # <class 'list'>
# str3 = '(好嗨哟, 4, 5)' 报错:name 'wined' is not defined
# print(type(eval(str3))) 去掉单引号为元组,wined 相当于变量,但是没有赋值
str3 = '(4444, 4, 5)'
print(type(eval(str3))) # <class 'tuple'>
tuple2 = ("好嗨哟", 4, 5)
# tuple2 = (好嗨哟, 4, 5) 报错:没有引号的好嗨哟,相当于变量,而不是值
print(tuple2) # ('好嗨哟', 4, 5)