如其他语言一样,除了基本知识外,另外一个重要的板块就是函数了,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. K8S(13)监控实战-部署prometheus

    k8s监控实战-部署prometheus 目录 k8s监控实战-部署prometheus 1 prometheus前言相关 1.1 Prometheus的特点 1.2 基本原理 1.2.1 原理说明 ...

  2. gradle中的增量构建

    目录 简介 增量构建 自定义inputs和outputs 运行时API 隐式依赖 输入校验 自定义缓存方法 输入归一化 其他使用技巧 gradle中的增量构建 简介 在我们使用的各种工具中,为了提升工 ...

  3. H5 页面如何展示大量的表格数据

    H5 页面如何展示大量的表格数据 列数过多 图表化 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  4. Apple Watch Series 6 全天候视网膜显示屏和全天候高度计是什么鬼

    Apple Watch Series 6 全天候视网膜显示屏和全天候高度计是什么鬼 Apple Watch Series 6 / Apple Watch Series 5 全天候视网膜显示屏 LTPO ...

  5. DOM & Node.contains

    DOM & Node.contains Node.contains() https://developer.mozilla.org/en-US/docs/Web/API/Node/contai ...

  6. hackr.io & Programming Courses & Programming Tutorials

    hackr.io & Programming Courses & Programming Tutorials the Best Programming Courses & Tu ...

  7. 召回 & 召回算法

    召回 & 召回算法 recall https://developers.google.com/machine-learning/crash-course/classification/prec ...

  8. react fiber

    react fiber https://github.com/acdlite/react-fiber-architecture https://github.com/facebook/react/is ...

  9. Techme INC解读基因魔剪,带来的是机遇还是风险?

    10月7日,诺贝尔化学奖颁给了法国美国生物学家Jennifer Doudna和生物化学家Emmanuelle Charpentier,以表彰她们对新一代基因技术CRISPR的贡献,全网沸腾. CRIS ...

  10. NGK全球巡回路演莫斯科站,共探BGV能否超越YFI?

    近日,NGK全球巡回路演在俄罗斯首都莫斯科落下帷幕.此次路演取得了空前的成功.路演伊始俄罗斯路演讲师Andrew致开幕辞,安德鲁称,俄罗斯作为未一个幅员辽阔的大国,区块链技术有着非常大的应用场景. 俄 ...