0
点赞
收藏
分享

微信扫一扫

python进阶----第二课

秦瑟读书 2022-02-05 阅读 45

python进阶,在第一期的基础上做了极大的优化,整体更加美观易懂

二、数据类型

print("hello")
print("world!!!")
print("hello", end=" ")
print("world!!!")
# 结果
>>>hello
>>>world!!!
>>>hello world!!!

检测数据类型关键字->type(功能:检测数据类型)

# type()->括号内放要检测的数据 print(type(num_2)) print(type(3.9))
 num_1 = 10 
 num_2 =1.01 
 print(type(num_1))  
# 结果:
>>> <class 'int'>
>>> <class 'float'>
>>> <class 'float'>
num_3 = True 
num_4 = False 
print(type(num_3)) 
print(type(num_4))
# 结果
>>> <class 'bool'>    # 无论是True还是False都是布尔型(bool)
>>> <class 'bool'>

== 判断等号右边是否等于等号左边

# 例如: 
print(10 == 9)       # 9不等于10 为假 
print(10 == 10)      # 10等于10 为真
# 结果
>>> False   # 假
>>> True    # 真
num_5 = "12" 
num_6 = "2.01" 
num_7 = "hello world!" 
num_8 = "false" 
print(type(num_5))     # 结果均为str(字符串类型) 
print(type(num_6)) 
print(type(num_7)) 
print(type(num_8))
# 结果:
>>> <class 'str'>
>>> <class 'str'>
>>> <class 'str'>
>>> <class 'str'>

2.1.2、4复杂数据类型

列表 ( list)


> num_9 = [10, 20, 30]  # 中间英文逗号隔开
print(type(num_9))
# 结果:
>>> <class 'list'>

元组 (tuple)

num_10 = (11, 21, 31)  
print(type(num_10))
# 结果:
>>> <class 'tuple'>

集合 (set)

num_11 = {12, 22, 33}
print(type(num_11))
# 结果:
>>> <class 'set'>

字典 (dict)
dict ->放的是键值对 :键: 值

num_12 = {"name": "cnm", "age": 30, "gender": "man"}
# 键值中间需要有英文状态冒号,左边为键右边为值->该代码数据类型为字符串类型,可去掉“值”的引号
print(type(num_12))
# 结果:
# <class 'dict'>

2.2.1、格式化输出

# 例如伍六七今年17岁体重21.01学号id为1314521
name_1 = "wu liu qi"
age_1 = 17
weight_1 = 21.01
stu_id = 1314521
print("姓名:%s" % name_1)
print("年龄:%d" % age_1)
print("体重:%f" % weight_1)
print("学号ID:%d" % stu_id)
# 结果
>>> 姓名:wu liu qi
>>> 年龄:17
>>> 体重:21.010000    #  默认六位小数
>>> 学号ID:1314521
# 对于我这种有强迫症的人来说真的是太难了,数字不对齐,体重后面居然显示六位小数,直接头也麻了,于是将代码略作修改,现在好看多了
print("姓名   :%s" % name_1)
print("年龄   :%d" % age_1, "岁")
print("体重   :%.2f" % weight_1, "公斤")     # %.2f表示小数点后面显示2位小数
print("学号ID :%07d" % stu_id)              # %07d表示输出的整数显示位数为7位,不足7位的 以0补全,超出7位则原样输出
# 结果
>>> 姓名   :wu li uqi
>>> 年龄   :17>>> 体重   :21.01 公斤
>>> 学号ID :1314521
# 想了想觉得还是不靠谱,怎么可以打这么多print,试试把他们一行输出
print("姓名:%s\n年龄:%d\n体重:%3.02f\n学号:%d" % (name_1, age_1, weight_1, stu_id))
# 结果
>>> 姓名:wu li uqi
>>> 年龄:17
>>> 体重:21.01
>>> 学号:1314521

2.2.2、格式化输出拓展

# 想了想仍然觉得不靠谱,各种类型直接让我头大,于是想到了f格式化
# 语法:f"{表达式或者是变量}"
print(f"姓名:{name_1}\n年龄:{age_1}\n体重:{weight_1}\n学号{stu_id}")  # B格满满
# 结果
>>> 姓名:wu li uqi
>>> 年龄:17
>>> 体重:21.01
>>> 学号1314521
 name_2 = input("请输入姓名:")
 print("%s你天天压榨我" % name_2)  # ->输入的数据类型统一为字符串类型
# 结果
>>> 请输入姓名:张三
>>> 张三你天天压榨我

2.4、数据类型转换

# 还是那行熟悉的代码
name = input("请随便输入一串数字:")   # 输入的数据类型默认为字符串
print(type(name))  # 打印输入内容的数据类型
print(type(int(name)))  # 对内容进行数据转换
print(type(float(name)))
print(type(str(name)))
# 结果
>>> <class 'str'>    ->数据类型结果为字符串
>>> <class 'int'>    ->数据类型结果为整型
>>> <class 'float'>
>>> <class 'str'>
list1 = [10, 20, 30]
print(tuple(list1))
print(type(tuple(list1)))    # 将列表转换为元组
# 结果:
>>> [10, 20, 30]
>>> <class 'tuple'>
t1 = (10, 20, 30)
print(list(t1))
print(type(list(t1)))
# 结果
>>> [10, 20, 30]
>>> <class 'list'>
# 将所有类型换为字符串类型,再用eval恢复
num0 = "乐趣"
num1 = "乐趣.乐趣"
num2 = "False"
num3 = "{10, 20, 30}"
print(type(eval(num0)))
print(type(eval(num1)))
print(type(eval(num2)))
print(type(eval(num3)))
# 结果:
>>> <class 'int'>
>>> <class 'float'>
>>> <class 'bool'>
>>> <class 'set'>
举报

相关推荐

0 条评论