第二周 day2 python学习笔记
1. python中的三元运算:
result=value1 if 条件 else value2
如果条件成立,result=value1
如果条件不成立,result=value2
2. python3的bytes/str的区别
python3中把文本和二进制数据做了更加明确的区分:
文本:总是Unicode编码,str类型表示
二进制数据:bytes类型表示
因此,不能随意的拼接字符串和字节包。但是,字符串可以被编码(encode方法)编码成字节包,字节包可以被解码(decode方法)成字符串
3. 列表List的使用方法:
#extend 方法可以把两个列表进行组合在一起,达到扩展的作用
name=[“jack”,”Tom”,”David”]
name2=[“Alice”,”Bob”]
name.extend(name2)
4.带字体颜色样式的输出:
#将某些字红色显示输出: #将某些字以背景红色字体输出
\033[31;1m%s\033[0m \033[41;1m%s\033[0m
5.关于Enumerate
6.关于浅拷贝和深拷贝
(1)直接赋值的方式“=” (2)采用copy的方式(浅拷贝),第一层(两份)独立,第二层不独立(指针指向相同)
![]()
(3)深拷贝copy.deepcopy()(让多层嵌套的都独立起来)
(4)浅拷贝的三种方式:
1. name2=name.copy() 或者name2=copy.copy(name) 记得导入import copy模块
2. name2=name[:]
3. name2=list(name)
(5)浅拷贝的应用举例:
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)
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)
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("没有这个省份。")
第二周 day2 python学习笔记的更多相关文章
- 第五周 day5 python学习笔记
1.软件开发的常规目录结构 更加详细信息参考博客:http://www.cnblogs.com/alex3714/articles/5765046.html 2.python中的模块 ...
- 第三周 day3 python学习笔记
1.字符串str类型,不支持修改. 2.关于集合的学习: (1)将列表转成集合set:集合(set)是无序的,集合中不会出现重复元素--互不相同 (2)集合的操作:交集,并集.差集.对称差集.父集.子 ...
- 第六周 day6 python学习笔记
1.Python面向对象编程OOP(Object Oriented Programming) 封装:可以隐藏实现细节,使代码模块化 继承:可以扩展已存在的代码模块,可以使代码实现重用 多态:一种接口, ...
- 第一周 day1 Python学习笔记
为什么要学习Python? Python擅长的领域 1. python2.x中不支持中文编码,默认编码格式为ASCII码,而python3.x中支持Unicode编码,支持中文,变量名可以为中文,如: ...
- 《python基础教程(第二版)》学习笔记 文件和素材(第11章)
<python基础教程(第二版)>学习笔记 文件和素材(第11章) 打开文件:open(filename[,mode[,buffering]]) mode是读写文件的模式f=open(r' ...
- 《python基础教程(第二版)》学习笔记 类和对象(第7章)
<python基础教程(第二版)>学习笔记 类和对象(第7章) 定义类class Person: def setName(self,name): self.name=n ...
- 《python基础教程(第二版)》学习笔记 函数(第6章)
<python基础教程(第二版)>学习笔记 函数(第6章) 创建函数:def function_name(params): block return values 记录函数:def f ...
- 《python基础教程(第二版)》学习笔记 语句/循环/条件(第5章)
<python基础教程(第二版)>学习笔记 语句/循环/条件(第5章) print 'AB', 123 ==> AB 123 # 插入了一个空格print 'AB', 'CD' == ...
- 《python基础教程(第二版)》学习笔记 字典(第4章)
<python基础教程(第二版)>学习笔记 字典(第4章)创建字典:d={'key1':'value1','key2':'value2'}lst=[('key1','value1'),(' ...
随机推荐
- centos 7编译安装mysql 5.7.17
1.进入MySQL官网下载MySQL源代码 依次点击Downloads -> Community -> MySQL Community Server 源代码1.Select Operati ...
- 快速部署简单私有云CloudStack(下)
微信公众号:wsy535068621 继续上边的 会给出具体配置
- jar包读取配置文件
读取jar包内配置文件: Properties config = new Properties(); InputStream in = this.getClass().getClassLoader() ...
- bzoj 5372: [Pkusc2018]神仙的游戏
Description 小D和小H是两位神仙.他们经常在一起玩神仙才会玩的一些游戏,比如"口算一个4位数是不是完全平方数". 今天他们发现了一种新的游戏:首先称s长度为len的前缀 ...
- 个人多年经典收藏集合(SQL) 推荐大家收藏
1.SQL经典问题 查找连续日期 2.sqlserver 中charindex/patindex/like 的比较 3.SQL Server 跨服务器查询 4.SQLserver中字符串查找功能pat ...
- Asp.Net MVC4通过id更新表单
用户需求是:一个表单一旦创建完,其中大部分的字段便不可再编辑.只能编辑其中部分字段. 而不可编辑是通过对input输入框设置disabled属性实现的,那么这时候直接向数据库中submit表单中的内容 ...
- C3P0数据库连接池的java实现
1.配置准备 导入jar包 c3p0-0.9.2-pre1.jar mchange-commons-0.2.jar 数据库驱动包,如:mysql-connector-java-5.1.28-bin.j ...
- C# 委托,事件, 异步
委托 委托可以说是方法的集合,里面放着方法列表,当调用的时候就会调用全部的方法列表 个人理解 : 当声明和创建时委托时, 它是个 对象 当使用委托,调用方法时,它是个 方法 声明委托类型 de ...
- 移动端Push推送
移动端Push推送 移动端开发逃不掉要做推送,这里给出服务端一种省时省力的解决方案. iOS:PushSharp.Apple.苹果有自己的推送服务,我们按照规则推送数据就好.这里我选取PushShar ...
- mac 好用软件地址存储
Navicat Premium 12.0.24 for mac已破解中文 https://www.52pojie.cn/thread-727433-1-1.html sublime 破解方法https ...