如其他语言一样,除了基本知识外,另外一个重要的板块就是函数了,python中也有函数。

在python中,函数的定义方式为:

def   函数名( ):

下面通过几个简单的例子,看看python中的函数的使用方法:

  • 一般函数
 1 def make_album(name,album_name,song_nums = 1):
2 dict_album = {name:[album_name]}
3 if int(song_nums) > 1:
4 dict_album[name].append(song_nums)
5 return dict_album
6
7 first = make_album('Avril','Fly')
8 print(str(first)+"\n")
9 second = make_album('Jay Zhou','Jay Chou\'s bedside story',10)
10 print(str(second)+"\n")
11 third = make_album('Tall swift','welcome to New York',12)
12 print(str(third)+"\n")

上一段代码中,使用 def make_album():定义了函数。在这个函数中,有三个参数,其中最后一个参数有默认形参值,因此,在传入参数的时候,针对有默认形参的情况,也可以传入两个参数。即,python也可以声明有默认参数的函数,对于有默认参数的函数,传入的实参个数可以少于形参个数。

  • 形参个数不定,但是实际上都存放在元组这种数据结构中
1 def make_pizza(size,*toppings):
2 print("\nmaking a "+str(size)+" size pizza with following toppings:")
3 for topping in toppings:
4 print("-"+topping)
5
6 make_pizza(12,'apple')
7 make_pizza(25,"banana","mango","beaf","tomato")

上一段代码中,def make_pizza(size,*toppings): 所定义的函数,除了接收一个size,还另外可以接收了不定个数的参数,这些参数组成元组存放在元组变量toppings中。注意,采用*标识的变量名即为元组

  • 形参个数不定,但是实际上都存放在字典这种数据结构中
 1 def build_profile(first_name,last_name,**user_info):
2 profile = {}
3 profile['first'] = first_name
4 profile['last'] = last_name
5 for key,value in user_info.items():
6 profile[key] = value
7 return profile
8
9 message = build_profile('albert','einstein',nation='American',filed='physics',year = 12)
10 print(message)

上一段代码中,def build_profile(first_name,last_name,**user_info): 所定义的函数,除了接收两个参数"first_name"和“last_name”外, 还另外可以接收了不定个数的参数,这些参数组成字典存放在字典变量user_info中,注意采用**标识的变量名即为字典变量名。因此第9行代码中,nation='American',filed='physics',year = 12实际上标识三个参数,其中: nation, field, year表示字典中的键,'American','physics',12表示对应的键所对应的取值。

进一步的,可以参考:https://www.jb51.net/article/58010.htm,这篇博客中对python的函数用法也有说明。

python学习总结篇(2)——函数的更多相关文章

  1. Python学习笔记之常用函数及说明

    Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...

  2. Python学习笔记010——匿名函数lambda

    1 语法 my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1 arg1.arg2:参数 arg1 + arg2 + 1 :表达式 2 描述 匿名函数不需要r ...

  3. Python学习第一篇

    好久没有来博客园了,今天开始写自己学习Python和Hadoop的学习笔记吧.今天写第一篇,Python学习,其他的环境部署都不说了,可以参考其他的博客. 今天根据MachineLearning里面的 ...

  4. [Python学习]错误篇二:切换当前工作目录时出错——FileNotFoundError: [WinError 3] 系统找不到指定的路径

    REFERENCE:<Head First Python> ID:我的第二篇[Python学习] BIRTHDAY:2019.7.13 EXPERIENCE_SHARING:解决切换当前工 ...

  5. [Python学习]错误篇一

    REFERENCE:<Head First Python> ID:我的第一篇[Python学习] BIRTHDAY:2019.7.6 EXPERIENCE_SHARING:两个程序错误类型 ...

  6. [python学习] 语言基础—排序函数(sort()、sorted()、argsort()函数)

    python的内建排序函数有 sort.sorted两个. 1.基础的序列升序排序直接调用sorted()方法即可 ls = list([5, 2, 3, 1, 4]) new_ls = sorted ...

  7. python学习第十天 -- 函数

    稍微学过其他编程语言的人都应该了解函数的概念.在这里就不做过多的介绍. Python内置了很多有用的函数,我们可以也直接调用. 可以直接从Python的官方网站查看文档: http://docs.py ...

  8. python学习交流 - 内置函数使用方法和应用举例

    内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...

  9. Python学习笔记(Ⅱ)——循环/选择/函数

    一.循环结构 python中提供了for循环和while循环两种操作,没有do……while语句. 1.for循环: 与其他语言中for循环的常见的写法如for (int i=0;i<10;i+ ...

  10. python学习笔记——高阶函数map()

    满足以下两点中任意一点,即为高阶函数: 1.函数接收一个或多个函数作为参数 2.函数返回一个函数 1 描述 用函数和可迭代对象中每一个元素作为参数,计算出新的迭代对象 map() 会根据提供的函数对指 ...

随机推荐

  1. [笔记]吞吐量(TPS)、QPS、并发数、响应时间(RT)概念

    开发的原因,需要对吞吐量(TPS).QPS.并发数.响应时间(RT)几个概念做下了解,查自百度百科,记录如下: 1. 响应时间(RT) 响应时间是指系统对请求作出响应的时间.直观上看,这个指标与人对软 ...

  2. 【ybt金牌导航1-2-4】免费馅饼

    免费馅饼 题目链接:ybt金牌导航1-2-4 题目大意 有一个直线,在某一个时刻有一个馅饼会出现在一些位置,有它的价值. 一个人一开始可以站在直线的任意地方,然后他每个时刻可以不移动,或向任意一边移动 ...

  3. docker的FAQ

    1.Docker能在非Linux平台(Windows+MacOS)上运行吗? 答:可以 2 .如何将一台宿主机的docker环境迁移到另外一台宿主机? 答:停止Docker服务,将整个docker存储 ...

  4. 桶排序 && leetcode 41

    桶排序 对于0-1000 ,用1001个桶  简单版 或者用10个桶0-9,先按各位装桶,然后依(桶)次放回,然后再按十位放桶,放回,然后百位. 也就是基数排序 https://www.cnblogs ...

  5. 读js DOM编程艺术总结

    第一章主要介绍一些历史性问题,javascript是Netcape和sun公司合作开发的. 第二章JavaScript语法: 1,数据类型:(弱类型)字符串,数值,布尔值(只有true和false,不 ...

  6. C++ part6.5

    1.虚函数表建立和虚函数表指针初始化 虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组.而虚函数表指针是在运行期,也就是构造函数被调用时进行初始化的,这是实现多态的 ...

  7. JQuery和js实现简单的霓虹灯

    注意jquery文件的路径要正确. <!DOCTYPE html> <html> <head> <title></title> <me ...

  8. 如何使用 js 实现tooltips 的 hover 时候坐标的自动计算

    如何使用 js 实现tooltips 的 hover 时候坐标的自动计算 js 监听 mouseover event https://developer.mozilla.org/zh-CN/docs/ ...

  9. HTML5 Template in Action

    HTML5 Template in Action https://developer.mozilla.org/es/docs/Web/HTML/Elemento/template https://de ...

  10. skills share & free videos

    skills share & free videos 技术分享 & 免费视频 https://www.infoq.cn/video/list WebAssembly https://w ...