8、Python-函数
定义
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-函数的更多相关文章
- python 函数之day3
一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...
- Python函数作用域的查找顺序
函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...
- Python函数讲解
Python函数
- Python函数信息
Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...
- Python函数参数默认值的陷阱和原理深究"
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...
- Python开发【第四章】:Python函数剖析
一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...
- Python函数解析
对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...
- Python入门笔记(18):Python函数(1):基础部分
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...
- Python函数1
Python 函数命令的使用 想想我们之前数学中学到的函数,首先我们需要定义一个函数,例如f(x)=x, 当x输入任意数的时候,f(x)都能输出和x相等的数值. 那么在Python中是如何实现的呢? ...
- python函数传参是传值还是传引用?
首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...
随机推荐
- SSM(Spring +SpringMVC + Mybatis)框架搭建
SSM(Spring +SpringMVC + Mybatis)框架的搭建 最近通过学习别人博客发表的SSM搭建Demo,尝试去搭建一个简单的SSMDemo---实现的功能是对用户增删改查的操作 参考 ...
- js选择排序。
<script> , , , , , , , ]; ; j<len; j++ ){ // 假设min为最小值 var minIndex = j; var min = arr[j]; ...
- Mysql性能优化二:索引优化
1 索引的类型 UNIQUE唯一索引 不可以出现相同的值,可以有NULL值. INDEX普通索引 允许出现相同的索引内容. PRIMARY KEY主键索引 不允许出现相同的值,且不能为NULL值,一个 ...
- 【Java】 枚举类
如果要定义一个枚举类: public enum Size { SAMLL, MEDIUM, LARGE, EXTRA, EXTRA_LARGE}; 实际上,这个声明定义的类型是一个类,它刚好有4个实例 ...
- jquery Ajax noConflict()
如果幾個框架都在使用$作為標識符,那麼這個時候可以使用noConflict()處理衝突. 可以直接使用jquery代替簡寫,也可以定義變量,也可以將$賦值給ready函數,函數內部可以使用快捷方式,不 ...
- arctan
ArcTanWhen the ArcTan functional configuration is selected, the input vector (X_IN,Y_IN) is rotated( ...
- 信息安全与Linux系统
相信很多小伙伴都看过黑客帝国里面的那些由代码组成的神奇界面,也有很多人也向往着有一天能做一个黑客,当然不是为了做坏事,只是想和电影里面的黑客一样拉风,我就是这么其中一个(假如有一天能实现这个愿望我想我 ...
- BZOJ1828[USACO 2010 Mar Gold 2.Barn Allocation]——贪心+线段树
题目描述 输入 第1行:两个用空格隔开的整数:N和M * 第2行到N+1行:第i+1行表示一个整数C_i * 第N+2到N+M+1行: 第i+N+1行表示2个整数 A_i和B_i 输出 * 第一行: ...
- BZOJ2795&2890&3647[Poi2012]A Horrible Poem——hash
题目描述 给出一个由小写英文字母组成的字符串S,再给出q个询问,要求回答S某个子串的最短循环节.如果字符串B是字符串A的循环节,那么A可以由B重复若干次得到. 输入 第一行一个正整数n (n<= ...
- P2577 [ZJOI2005]午餐
题目描述 上午的训练结束了,THU ACM小组集体去吃午餐,他们一行N人来到了著名的十食堂.这里有两个打饭的窗口,每个窗口同一时刻只能给一个人打饭.由于每个人的口味(以及胃口)不同,所以他们要吃的菜各 ...