【Python初学笔记】no.2字典和函数及练习
来源:互联网 发布:多益网络策划问题精髓 编辑:程序博客网 时间:2024/06/05 03:14
字典
说明:字典可以像传统的字典那样理解,每一个词都有他的注释,python中也是一样,只是说,一个词只能有一个注释(至少学到此所了解的),那么这个词和其注释就是一个元组。
menu_dic = {'quezi':12,'hongshaor':15,'baiqj':16} //这里我写一个餐厅菜单的词典
注意是大括号!
print menu_dic,'\n'
字典的功能用法:
#print menu_dic ['quezi'] //用中括号查词的注释#print menu_dic.keys() //keys就是词,这里输出所有的词
#print menu_dic.values() //values就是注释,输出所有注释
#print menu_dic.items() //items就是词+注释,输出所有的词+注释
#for food,price in menu_dic.items():
# print food,price //用for循环整齐的输出词和注释,如下:
baiqj 16
quezi 12
hongshaor 15
#menu_dic.pop('quezi') //删掉某词及其注释
#menu_dic.popitem() //删掉第一个词及其注释
#menu_dic['luobu']=4 //中括号添加一个词和注释
#print menu_dic.has_key('asd') //判断是否包含某词,输出True/False
print menu_dic.clear() //清空词典
练习:
创建员工信息表,包含员工号、姓名、邮件、部门等。
提供用户查找接口,通过员工号查询用户信息。
首先创建员工信息表:
root@controller:~# more staff.txt
Name Number email department
lei 20 random@qq.com it
jxj 30 jxj@qq.com Financial
hhy 40 hhy@qq.com Administration
scq 50 scq@qq.com Administration
程序代码:
#=========================================================
#coding=utf-8 #使得Python2.7支持中文
f = file ('staff.txt')
staff_dic = {}
f.readline()
f.readline() #过滤表的前两行
for line in f.readlines():
name = line.split()[0]
staff_dic [name] = line #将表生成字典
print '欢迎使用员工信息查询系统!\n'
while True: #写一个循环
n = raw_input('请输入需要查询的员工姓名并回车:')
if n in staff_dic: #判断如果输入的姓名在字典中,就继续下面的内容
print '该员工的信息如下:\n'
print 'Name Number Email Department','\n',staff_dic[n]
else: #不在字典中,就提示重新输入!
print '没有该员工,请重新输入!\n'
#=========================================================
函数
说明:函数,是在程序中将一组用特定的格式包装起来,定义一个名称!
然后在程序的任何地方调用这个函数,执行函数里的命令!
好处:
程序可扩展性
减少程序代码
方便程序架构的修改
定义函数:
>>> def sayhi(name): #格式为def +xx():
... print 'hello!my name is %s' % name
...
>>> sayhi('leilili')
hello!my name is leilili
注意:若函数里面需要引用变量,则变量必须提前在括号()里声明!
练习:
创建一个员工名单表,然后用函数取出员工姓名,并与ta打招呼。
这里依然使用之前创建的表,
root@controller:~# more staff.txt
Name Number email department
lei 20 random@qq.com it
jxj 30 jxj@qq.com Financial
hhy 40 hhy@qq.com Administration
scq 50 scq@qq.com Administration
代码:
#==================================================
def sayHi(a):
f = file(a) #读取文件
f.readline()
f.readline() #过滤前两行
for line in f.readlines():
name = line.split()[0] #把名字分离出来
print 'hi %s,how are you ?'% name
sayHi('staff.txt')
#==================================================
效果
root@controller:~# python def.py
hi lei,how are you ?
hi jxj,how are you ?
hi hhy,how are you ?
hi scq,how are you ?
感谢你的阅览,如你有建议或发现笔记中有错误可向我提出,谢谢~
资源群(IT各领域、非技术)645026970
End.
- 【Python初学笔记】no.2字典和函数及练习
- 【Python初学笔记】no.3 练习-实现linux下的差异备份
- python学习笔记2--初学递归函数
- Python 初学笔记:地址簿练习
- Python 初学笔记:逻辑门练习
- Python 生成密码字典算法(初学Python笔记)
- Python初学之字典
- python初学笔记(2)
- python初学笔记2
- python字典排序及sorted函数
- Python字典练习
- Python字典小练习
- Python笔记 NO.2
- Python学习练习5----字典、列表、函数的运用
- Python学习笔记(2)字典
- python初学笔记-类和装饰
- Python初学笔记-io流和异常
- Python字典内置函数和方法
- C# 将引用的DLL文件放到指定的目录下
- android 点击EditText外的区域关闭软键盘
- 身份证号码有效性验证
- jsp中静态INCLUDE与动态INCLUDE的区别
- 基于 springMVC 的 RESTful HTTP API 实践(服务端)
- 【Python初学笔记】no.2字典和函数及练习
- android广播:动态注册监听网络变化(第一行代码android学习笔记)
- 前端jquery搜索查询 优化网站性能
- mac 下的编辑器clion
- Linux 系统的常用操作命令 day 1
- java 使用Socket进行通信
- Activity与Activity之间的回调
- VHDL:信号、端口以及和Verilog的区别
- shell实现按日期删除elk系统产生的logstash日志索引数据