【Python】 常见的数据类型

100 阅读3分钟

输入:input()

作用:
  1. 等待用户输入内容
  2. 阻塞(或暂停)程序的运行,等待回车动作
特点:

无论 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 位小数

布尔型:TrueFalse,只有这2种值,非 TrueFalse

列表: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)