如其他语言一样,除了基本知识外,另外一个重要的板块就是函数了,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. 树状数组 && 板子

    本文树状数组讲解转载于:https://www.cnblogs.com/xenny/p/9739600.html 本文新加内容为模板代码部分 1.什么是树状数组? 顾名思义,就是用数组来模拟树形结构呗 ...

  2. 记录一些Python中不常用但非常好用的函数

    zfill(): 方法返回指定长度的字符串,原字符串右对齐,前面填充0. print('Helloworld'.zfill(50))0000000000000000000000000000000000 ...

  3. HttpClient客户端网络编程——高可用、高并发

    本文是HttpClient的学习博客,RestTemplate是基于HttpClient的封装,feign可基于HttpClient进行网络通信. 那么作为较底层的客户端网络编程框架,该怎么配置使其能 ...

  4. redis字典

    字典作为一种保存键值对的数据结构,在redis中使用十分广泛,redis作为数据库本身底层就是通过字典实现的,对redis的增删改查实际上也是构建在字典之上. 一.字典的结构

  5. macOS 需要更新软件才能连接到 iOS 设备

    macOS 需要更新软件才能连接到 iOS 设备 更新 Mac 上的软件 如果您在 iPhone.iPad 或 iPod touch 上看到"需要更新软件才能连接到 iOS 设备" ...

  6. VSCode 开放式架构的产品实现思路

    VSCode 开放式架构的产品实现思路 https://code.visualstudio.com/ 源码 https://github.com/microsoft/vscode https://gi ...

  7. js Memory Management

    js Memory Management 垃圾回收是一个术语,在计算机编程中用于描述查找和删除那些不再被其他对象引用的对象的处理过程. 换句话说,垃圾回收是删除任何其他对象未使用的对象的过程. 垃圾收 ...

  8. Alexa website ranking

    Alexa website ranking The top 500 sites on the web https://www.alexa.com/topsites https://www.alexa. ...

  9. auto open Chrome DevTools in the command line

    auto open Chrome DevTools in the command line --auto-open-devtools-for-tabs # macOS $ /Applications/ ...

  10. NGK——更好的数据与网络

    对于NGK而言,帐本是不可或缺的,所以NGK有独立的共识层,共识层有单独的参与的共识节点.而其余计算都丢给其他的计算资源计算,共识层汇总一个正确的结果即可. 进行大量计算过程的资源是另一种节点,在NG ...