从零学习python - 03类型强转与流程控制

# 成员检测与标识号检测

in:判断对象是否在序列(列表、字符串、元组、字典)中,如果存在则返回true
not in:判断对象是否不在序列中,如果是则返回true
is:判断两个对象是否相同 
    数字、字符串和元组相同则相同,都是不可变的数据类型
    列表、字典和集合是要比较内存地址的,都是可变的数据类型
is not:判断两个对象是否不相同

# python的数据类型转换

type(object):检测数据类型
    a = 123
    b = "123"
    c = [1, 2, 3]
    d = (1, 2, 3)
    e = {1, 2, 3}
    f = {
        1: 1,
        2: 2,
        3: 3
    }
    print(type(a))  # <class 'int'> 整型
    print(type(b))  # <class 'str'> 字符串
    print(type(c))  # <class 'list'> 列表
    print(type(d))  # <class 'tuple'> 元组
    print(type(e))  # <class 'set'> 集合
    print(type(f))  # <class 'dict'> 字典

强制数据类型转换

    str(obj):将其他类型数据转换为字符串类型,所有类型都可以转换为字符串类型
    int(obj):将其他类型的数据转换为整型类型。数字类型之间可以相互转换,只有纯数字的字符串可以转换为数字类型。
    float(obj):将其他类型的数据转换为浮点数类型。数字类型之间可以相互转换,只有纯数字的字符串可以转换为数字类型。
    bool(obj):将其他类型转为True、False
        容器类型转布尔值:(字符串、列表、元组、字典、集合):容器为空则False 不为空则True
        非容器类型转布尔值:(数字类型、布尔类型):int中0为False其他为True,float中0.0为False其余为真
    list(obj):将其他类型转换为列表类型
        数字类型为非容器类型,不能转换为列表
        字符串转列表时,会将字符串中每一个字符当成列表的元素
        元组转列表时,会将元组中每一个元素当成列表的元素
        集合转列表时,结果时无序的
        字典转列表时,只会保留字典的key
    tuple(obj):将其他类型转换为元组类型,规则与list(obj)相同
    set(obj):数字类型非容器不能转换,其他类型转换为集合后结果都是无序的
    dict(obj):其他类型转字典类型
        数字类型非容器不能转换
        字符串无法生成二级容器不能转换
        列表必须为等长二级容器,子容器中元素个数必须为2
            list1 = [["name", "otto"], ["age", "28"]]
            # {'name': 'otto', 'age': '28'}
            print(dict(list1))
        元组必须为等长二级容器,子容器中元素个数必须为2
            tuple1 = (("name", "otto"), ("age", "28"))
            # {'name': 'otto', 'age': '28'}
            print(dict(tuple1))
        集合不能转换为字典类型

判断一个对象是否是已知的数据类型

    isinstance(对象,对象类型):判断后返回一个布尔值
    对象类型:int(整型) float(浮点型) list(列表) tuple(元组) 
            set(集合) dict(字典) bool(布尔) str(字符串) 
        print(isinstance(tuple1, tuple))    # True

# python的流程控制

if...elif...else分支语句:
    if True:
        执行语句
    elif True:
        执行语句
    ...
    else:
        执行语句

for循环遍历序列:

不通过下标实现对序列每一个元素的访问(字符串、列表、元组、字典、集合) 其中对字典的遍历只能得到key

    for 变量 in 序列:
        print(变量)

通过for循环得到字典的键值对

    d = {
        "name": "otto",
        "age": "28"
    }
    # 字典中items()方法 - 以列表的形式返回字典中所有键值对
    for i in d.items():
        # ('name', 'otto')
        # ('age', '28')
        print(i)

range(start,end,step):start到end的区间 step默认为1

    for i in range(0,6,2):
        # 024
        print(i)

双层for循环提取嵌套列表中的元素

    a = [1, 2, [3, 4], [5, 6]]
    for i in a:
        # 提取到元素后进行判断是否为列表 是的话再次循环提取
        if isinstance(i, list):
            for j in i:
                print(j)    # 3 4 5 6

while循环:

    while boolean:
        满足判断执行
    else:
        不满足后执行

循环中的关键字:

break:可以跳出for、while循环体 - 跳出

continue:用来跳过当前循环体中的剩余语句,再进行下一轮循环 - 跳过

pass语句:空语句,为了保持程序结构的完整性

用于那些语法上必须要有什么语句,但程序什么也不做的场合,相当于占位作用

    for i in range(0, 10):
        pass #结构完整编译不会报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OtnIOs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值