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("没有这个省份。")
  • 相关阅读:
    net core 使用 rabbitmq
    asp.net core WebApi 返回 HttpResponseMessage
    asp.net core 2.1 WebApi 快速入门
    JQuery EasyUI combobox动态添加option
    php截取字符去掉最后一个字符
    JQuery EasyUI Combobox的onChange事件
    对于不返回任何键列信息的 selectcommand 不支持 updatecommand 的动态 sql 生成
    Access2007 操作或事件已被禁用模式阻止解决办法
    Easyui 中 Tabsr的常用方法
    Win 7 IE11不能下载文件,右键另存为也不行
  • 原文地址:https://www.cnblogs.com/jean925/p/7536823.html
Copyright © 2011-2022 走看看