【纯文本教程】大学专科的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数据库操作”和“数据分析与数据可视化”,老师只是简单提及了以下,我就不会上传的博客了。

 

posted on 2020-06-11 07:30  机器人DX3906  阅读(132)  评论(0)    收藏  举报

导航