定义

def printInfo():
print("人生苦短,我用Python")

调用

def printInfo():
print("人生苦短,我用Python") printInfo()

带参函数

def printInfo(a, b):
print(a + b) printInfo("人生苦短", "我用Python")

缺省参数函数

# 带有默认值的参数一定要位于参数列表的最后面
def printInfo(a, b="我用Python"):
return a + b; print(printInfo("人生苦短"))

不定长参数

# 加了星号(*)的变量会存放所有未命名的变量参数,b为元组
def printInfo(a, *b):
print(a)
print(b) printInfo("人生苦短","我用","Python") # 人生苦短
# ('我用', 'Python') printInfo("人生苦短") # 人生苦短
# ()
# 加**的变量会存放命名参数,即形如key=value的参数, b为字典。
def printInfo(a, **b):
print(a)
print(b) printInfo("人生苦短", x="我用", y="Python") # 人生苦短
# {'x': '我用', 'y': 'Python'} printInfo("人生苦短") # 人生苦短
# {}
def printInfo(a, *b, **c):
print(a)
print(b)
print(c) printInfo("人生苦短", 1, "a", x="我用", y="Python") # 人生苦短
# (1, 'a')
# {'x': '我用', 'y': 'Python'} printInfo("人生苦短") # 人生苦短
# ()
# {}

带返回值函数

def printInfo(a, b):
return a + b; print(printInfo("人生苦短", "我用Python"))

返回多个值函数

# 本质是利用了元组
def printInfo(a, b):
return a, b; a, b = printInfo("人生苦短", "我用Python")
print(a, b)

函数拆包

def printInfo(a, *b, **c):
print(a)
print(b)
print(c) a = (1, 'a')
b = {'x': '我用', 'y': 'Python'} printInfo("人生苦短", a, b) # 人生苦短
# ((1, 'a'), {'x': '我用', 'y': 'Python'})
# {} printInfo("人生苦短", *a, **b) # 人生苦短
# (1, 'a')
# {'x': '我用', 'y': 'Python'}

匿名函数

sum = lambda arg1, arg2: arg1 + arg2
print(sum(10, 20))
# # 函数作为参数传递
def fun(a, b, opt):
print("a =", a)
print("b =", b)
print("result =", opt(a, b))
fun(1, 2, lambda x, y: x + y)
# a = 1
# b = 2
# result = 3 stus = [
{"name": "zhangsan", "age": 18},
{"name": "lisi", "age": 19},
{"name": "wangwu", "age": 17}
]
stus.sort(key=lambda x: x['age'])
print(stus)
# [{'name': 'wangwu', 'age': 17}, {'name': 'zhangsan', 'age': 18}, {'name': 'lisi', 'age': 19}]

8、Python-函数的更多相关文章

  1. python 函数之day3

    一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...

  2. Python函数作用域的查找顺序

    函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...

  3. Python函数讲解

    Python函数

  4. Python函数信息

    Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...

  5. Python函数参数默认值的陷阱和原理深究"

    本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...

  6. Python开发【第四章】:Python函数剖析

    一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...

  7. Python函数解析

    对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...

  8. Python入门笔记(18):Python函数(1):基础部分

    一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...

  9. Python函数1

    Python 函数命令的使用 想想我们之前数学中学到的函数,首先我们需要定义一个函数,例如f(x)=x, 当x输入任意数的时候,f(x)都能输出和x相等的数值. 那么在Python中是如何实现的呢? ...

  10. python函数传参是传值还是传引用?

    首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...

随机推荐

  1. 第三个spring冲刺总结(附团队贡献分)

    基于调查需求下完成的四则运算,我们完成了主要的3大功能. 第一,普通的填空题运算,这个是传统的运算练习方式,团队都认为这个选项是必要的,好的传统要留下来,在个人经历中,填空练习是一个不错的选择. 第二 ...

  2. Java面向对象(Eclipse高级、类与接口作为参数返回值)

      面向对象 今日内容介绍 u Eclipse常用快捷键操作 u Eclipse文档注释导出帮助文档 u Eclipse项目的jar包导出与使用jar包 u 不同修饰符混合使用细节 u 辨析何时定义变 ...

  3. [CB转帖]台湾晶圆厂产能居全球第一 大陆排名第五但增长最多

    台湾晶圆厂产能居全球第一 大陆排名第五但增长最多 据台湾地区媒体报道,近日市场调查机构IC Insights发布了各个地区或国家晶圆厂月产能排名,其中台湾地区排名第一,韩国排名第二,日本排名第三,美国 ...

  4. [转帖]CR3,PDE,PTE,TLB 内存管理的简单说明

    CR3,PDE,PTE,TLB  Copy From https://www.cnblogs.com/zzSoftware/archive/2013/02/11/2908824.html   网上关于 ...

  5. 转《发布ionic应用到App Store的完整步骤 》

    当我们开发完一个应用,就到了发布到市场的时候,Android的打包比较简单,签名之后可以放在我们自己的服务器上,让用户扫描二维码来下载,而苹果的就比较麻烦了,如果内测可以通过蒲公英等内测分发平台,但是 ...

  6. ionic2中如何使用自动生成器

    ionic generator是命令行的功能,ionic2自动帮我们创建应用程序,从而节省了大量的时间,并增加我们的速度来开发一个项目的关键部分. ionic generator使我们可以自动创建以下 ...

  7. linux 单引号,双引号,反引号的小总结。

    还是老惯例说说事情的起因,由于最开始对linux下面的各种引号并不是特别敏感,导致有一天我在添加数据库字段的时候出现的错误,当时出现错误的原因是我在最外层使用了单引号进行包裹,然后一句话里面需要转意的 ...

  8. 51nod1268(基础dfs)

    解题思路:直接搜索找就行了,搜两边,一个是加入这个数字,一边是不加入这个数字 代码: #include<iostream>#include<algorithm>#define ...

  9. BZOJ4516 SDOI2016生成魔咒(后缀数组+平衡树)

    一个字符串本质不同的子串数量显然是总子串数减去所有height值.如果一个个往里加字符的话,每次都会改动所有后缀完全没法做.但发现如果从后往前加的话,每次只会添加一个后缀.于是我们把字符串倒过来,每次 ...

  10. JPQL模糊匹配单个字符

    JPQL模糊匹配,不是%,而是单个字符,该怎么办?比如我要查出数据库中满足后三位是数字的字符串 对于mysql来说,使用通配符 %和_可以轻松解决,但是对于JPQL来说模糊查询就伤脑筋了... 有一个 ...