zoukankan      html  css  js  c++  java
  • 第二周 day2 python学习笔记

    1. python中的三元运算:

    result=value1 if 条件 else value2

        如果条件成立,result=value1

        如果条件不成立,result=value2

    2. python3的bytes/str的区别

    python3中把文本和二进制数据做了更加明确的区分:

    文本:总是Unicode编码,str类型表示

    二进制数据:bytes类型表示

    因此,不能随意的拼接字符串和字节包。但是,字符串可以被编码(encode方法)编码成字节包,字节包可以被解码(decode方法)成字符串

    image

    3. 列表List的使用方法:

    #extend 方法可以把两个列表进行组合在一起,达到扩展的作用

    name=[“jack”,”Tom”,”David”]

    name2=[“Alice”,”Bob”]

    name.extend(name2)

    4.带字体颜色样式的输出:

    #将某些字红色显示输出:                                                      #将某些字以背景红色字体输出

    33[31;1m%s33[0m                                                       33[41;1m%s33[0m 

    image

    image

    5.关于Enumerate

    image

    6.关于浅拷贝和深拷贝

    (1)直接赋值的方式“=”                                                                     (2)采用copy的方式(浅拷贝),第一层(两份)独立,第二层不独立(指针指向相同)

    image  image

    (3)深拷贝copy.deepcopy()(让多层嵌套的都独立起来)

    image

    (4)浅拷贝的三种方式:

        1.  name2=name.copy() 或者name2=copy.copy(name) 记得导入import copy模块

        2.  name2=name[:]

        3.  name2=list(name)

    (5)浅拷贝的应用举例:

    image

    7.关于字典的操作:字典的合并,增删查改、遍历

    #字典dictionary 是采用key-value的方式存储,是无序的。字典可以采用多级嵌套的方式,用key去寻找
    info = {
    'stu1101': "Tom",
    'stu1102': "Lary",
    'stu1103': "Maria",
    }

    b={
    'stu1101': "Catery",
    'stu1104':"Bruce",
    "stu1105":"Aclise"
    }
    info.update(b)#将两个字典进行合并,相同key的进行覆盖,不同key的添加在一起
    print(info)

    print("--------------------")
    c = dict.fromkeys([6,7,8],[1,{"name":"Jean"},444])
    print(c )

    c[7][1]['name'] = "Jack Chen"
    print(c)
    image
    print("++++++++++++++++++")
    print(info.items())
    print(info.get('stu1103'))
    #判断元素是否在字典里面
    print('stu1103' in info) #info.has_key("1103") in py2.x

    print(info["stu1101"])

    #修改字典中的元素
    info["stu1101"] ="Category55"
    info["stu1104"] ="JackCahng"
    print(info)
    print("************************")

    #del 关于字典的删除操作:三种删除的方法
    del info["stu1101"]
    #info.pop("stu1101")
    #info.popitem()#任意选择一个并删除
    print(info)

    #两种遍历字典的方法,推荐第一种,
    for i in info:
    print(i,info[i])
    #第二种的效率较低,因为它会先把字典转成列表,特别是当数据量很大的时候,就会感觉到第二种效率低下
    print("-------------------------")
    for k,v in info.items():
    print(k,v)
    image

    8.三级菜单的显示(改进版)

    data={
    '四川':{
    '成都':{
    '青羊区':["青羊宫","人民公园","博物馆"],
    '金牛区':["天府广场","万达广场"],
    '新都区':["川音","成医","东荣影城"]
    },
    '资阳':{
    "安岳县":["周礼","镇子","驯龙"],
    "乐至县":["乐安","乐中校","乐至实验"],
    "雁江区":["保和","中和","东丰"]
    }

    },
    '河南':{
    '郑州':{
    '惠济区':["郑州财经","河南省体育馆","贾河村"],
    '荥阳':["乔楼镇","郑州职业技术学院","高山镇"]
    },
    '周口':{
    '川汇区':["慈觉寺","周口一高","中原国际商贸城"],
    '商水县':["汤庄","化河乡","姚集乡"],
    "项城市":["高寺镇","官会镇","丁集镇","永丰乡"]

    }
    }
    }

    flag=True
    while flag:
    for i in data:
    print(i)
    info1=input("输入你想要查看的省份:")
    if info1 in data.keys():
    for j in data[info1]:
    print(j)
    while flag:
    info2=input("输入你要查看的地级市:")
    if info2 in data[info1].keys():
    for k in data[info1][info2]:
    print(k)
    while flag:
    info3=input("输入你想查看的县区:")
    if info3 in data[info1][info2].keys():
    for m in data[info1][info2][info3]:
    print(m)
    elif info3=="q":
    flag=False
    elif info3=="b":
    break
    else:
    print("%s没有这个地方"%(info3))

    elif info2=="q":
    flag=False
    elif info2=="b":
    break
    else:
    print("%s没有这个地级市"%(info2))
    elif info1=="q":
    flag=False
    exit()
    else:
    print("没有这个省份。")
  • 相关阅读:
    数字签名(代码签名)流程
    (转)__cdecl __fastcall与 __stdcall
    装修主材
    ATL 获取flash信息
    Windows结构化异常
    格式化HRESULT获取对应文本
    which type of VS files should be committed into a version control system
    读Windows核心编程-5-作业
    IE WebBrowser事件触发
    Windows 结构化异常
  • 原文地址:https://www.cnblogs.com/jean925/p/7536823.html
Copyright © 2011-2022 走看看