【纯文本教程】大学专科的Python基础开发课?p=23
“Python基础开发”课程_课堂笔记(HTML版_023)
Class notes of "Python basic development",this webPage is twentieth-third page.
本页面的没有“代码demo索引”。
5.4.2 字典与函数
——字典可以作为函数的参数,函数也能返回一个字典。
我们(在这小节)的任务就是(设计一个程序,储存键和值,实现查询功能,)掌握字典在函数中的应用。
一、字典作为函数的参数
如果在函数中改变了字典,那么调用出的字典,也会同时被改变——在调用处的“实际参数”与函数的“形式参数”是同一个变量。
def fun(dict_name):
dict_name["hour"] = "11"
print("inside:",dict_name)
dict_demo = {"year":"2020","month":"May","date":"12","hour":"9"}
print("before:",dict_demo)
fun(dict_demo)
print("after:",dict_demo)
运行上面的示例代码,结果如下:
>>>
= RESTART: D:\code\Python2020_demo.py =
before: {'year': '2020', 'month': 'May', 'date': '12', 'hour': '9'}
inside: {'year': '2020', 'month': 'May', 'date': '12', 'hour': '11'}
after: {'year': '2020', 'month': 'May', 'date': '12', 'hour': '11'}
>>>
可以看到,“before”这行是原始数据,“inside”这行是函数返回值,“after”这行是值被改变了。
二、 函数返回字典
字典可以作为函数的返回值。
def fun():
dict = {}
dict["year"] = "twenty twenty"
dict["month"] = "May"
dict["date"] = "twelve"
return dict
def show(dict):
keys = dict.keys()
for key in keys:
print(dict[key])
dict = fun()
print(dict)
show(dict)
运行上面的示例代码,结果如下:
>>>
====================== RESTART: D:\code\Python2020_demo.py =====================
{'year': 'twenty twenty', 'month': 'May', 'date': 'twelve'}
twenty twenty
May
twelve
>>>
首先执行的操作是打印字典,然后执行函数体,遍历每个键的值。
三、 字典与字典参数
Python用一个星号来表示元组的可变参数,用两个星号来表示字典的可变参数——"**kargs"在函数中是字典,"*args"、
def fun(x,y=2,**kargs):
print(x,y)
print(kargs)
fun(1,2)
运行上面的示例代码,结果如下:
>>>
====================== RESTART: D:\code\Python2020_demo.py =====================
1 2
{}
>>>
我们没有对“kargs”进行赋值,所以为空。
修改一下:
def fun(x,y=2,**kargs):
print(x,y)
print(kargs)
fun(1,2,z=3)
运行结果变成了:
>>>
====================== RESTART: D:\code\Python2020_demo.py =====================
1 2
{'z': 3}
>>>
结果显示,x、y变量为整数,z变量就是一个字典了,字典的存储形式是键值对。
而一个星号(比如说“*args”)表示元组可变参数,如果同时存在“*args”和“**kargs”,是要按照这个顺序的:
def fun(x,y=2,*args,**kargs):
print(x,y)
print(args)
print(kargs)
fun(1,2)
运行结果变成了:
>>>
====================== RESTART: D:\code\Python2020_demo.py =====================
1 2
()
{}
>>>
这个小括号,就是元组这种数据类型的标志。
如果感觉两个空括号不好看的话……
def fun(x,y=2,*args,**kargs):
print(x,y)
print(args)
print(kargs)
fun(1,2,3,4,5,6,dates="May twelve twenty twenty")
这样,运行结果就不是空值了:
>>>
====================== RESTART: D:\code\Python2020_demo.py =====================
1 2
(3, 4, 5, 6)
{'dates': 'May twelve twenty twenty'}
>>>
第23堂课,内容为“字典”这种数据类型,与“函数”这种代码块之间的关系。
本页面(?p=23)的实际上课时间为2020年5月12日第1小节课
后面是【实践项目】Python英文字典,(“?p=24”是在讲思路,25、26这两“p”则是实训课)
内容没有写完,因此不上传博客。
“第六章 Python面向对象”则是由于博主本人的个人原因,整体跳过,直接到“?p=34”(第七章 Python文件操作),Python基础最后的知识是“7.5 二进制文件”。至于后面的“Python数据库操作”和“数据分析与数据可视化”,老师只是简单提及了以下,我就不会上传的博客了。
浙公网安备 33010602011771号