python学习总结篇(2)——函数
如其他语言一样,除了基本知识外,另外一个重要的板块就是函数了,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)——函数的更多相关文章
- Python学习笔记之常用函数及说明
Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...
- Python学习笔记010——匿名函数lambda
1 语法 my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1 arg1.arg2:参数 arg1 + arg2 + 1 :表达式 2 描述 匿名函数不需要r ...
- Python学习第一篇
好久没有来博客园了,今天开始写自己学习Python和Hadoop的学习笔记吧.今天写第一篇,Python学习,其他的环境部署都不说了,可以参考其他的博客. 今天根据MachineLearning里面的 ...
- [Python学习]错误篇二:切换当前工作目录时出错——FileNotFoundError: [WinError 3] 系统找不到指定的路径
REFERENCE:<Head First Python> ID:我的第二篇[Python学习] BIRTHDAY:2019.7.13 EXPERIENCE_SHARING:解决切换当前工 ...
- [Python学习]错误篇一
REFERENCE:<Head First Python> ID:我的第一篇[Python学习] BIRTHDAY:2019.7.6 EXPERIENCE_SHARING:两个程序错误类型 ...
- [python学习] 语言基础—排序函数(sort()、sorted()、argsort()函数)
python的内建排序函数有 sort.sorted两个. 1.基础的序列升序排序直接调用sorted()方法即可 ls = list([5, 2, 3, 1, 4]) new_ls = sorted ...
- python学习第十天 -- 函数
稍微学过其他编程语言的人都应该了解函数的概念.在这里就不做过多的介绍. Python内置了很多有用的函数,我们可以也直接调用. 可以直接从Python的官方网站查看文档: http://docs.py ...
- python学习交流 - 内置函数使用方法和应用举例
内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...
- Python学习笔记(Ⅱ)——循环/选择/函数
一.循环结构 python中提供了for循环和while循环两种操作,没有do……while语句. 1.for循环: 与其他语言中for循环的常见的写法如for (int i=0;i<10;i+ ...
- python学习笔记——高阶函数map()
满足以下两点中任意一点,即为高阶函数: 1.函数接收一个或多个函数作为参数 2.函数返回一个函数 1 描述 用函数和可迭代对象中每一个元素作为参数,计算出新的迭代对象 map() 会根据提供的函数对指 ...
随机推荐
- K8S(13)监控实战-部署prometheus
k8s监控实战-部署prometheus 目录 k8s监控实战-部署prometheus 1 prometheus前言相关 1.1 Prometheus的特点 1.2 基本原理 1.2.1 原理说明 ...
- gradle中的增量构建
目录 简介 增量构建 自定义inputs和outputs 运行时API 隐式依赖 输入校验 自定义缓存方法 输入归一化 其他使用技巧 gradle中的增量构建 简介 在我们使用的各种工具中,为了提升工 ...
- H5 页面如何展示大量的表格数据
H5 页面如何展示大量的表格数据 列数过多 图表化 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
- Apple Watch Series 6 全天候视网膜显示屏和全天候高度计是什么鬼
Apple Watch Series 6 全天候视网膜显示屏和全天候高度计是什么鬼 Apple Watch Series 6 / Apple Watch Series 5 全天候视网膜显示屏 LTPO ...
- DOM & Node.contains
DOM & Node.contains Node.contains() https://developer.mozilla.org/en-US/docs/Web/API/Node/contai ...
- hackr.io & Programming Courses & Programming Tutorials
hackr.io & Programming Courses & Programming Tutorials the Best Programming Courses & Tu ...
- 召回 & 召回算法
召回 & 召回算法 recall https://developers.google.com/machine-learning/crash-course/classification/prec ...
- react fiber
react fiber https://github.com/acdlite/react-fiber-architecture https://github.com/facebook/react/is ...
- Techme INC解读基因魔剪,带来的是机遇还是风险?
10月7日,诺贝尔化学奖颁给了法国美国生物学家Jennifer Doudna和生物化学家Emmanuelle Charpentier,以表彰她们对新一代基因技术CRISPR的贡献,全网沸腾. CRIS ...
- NGK全球巡回路演莫斯科站,共探BGV能否超越YFI?
近日,NGK全球巡回路演在俄罗斯首都莫斯科落下帷幕.此次路演取得了空前的成功.路演伊始俄罗斯路演讲师Andrew致开幕辞,安德鲁称,俄罗斯作为未一个幅员辽阔的大国,区块链技术有着非常大的应用场景. 俄 ...