python学习系列(七)函数和Lambda表达式
来源:互联网 发布:古埃及神话知乎 编辑:程序博客网 时间:2024/06/05 02:59
前面几章全是基础,语法和数据类型;这一章开始函数的学习~
函数,编程语言灵魂,函数的调用是重点,它是完成逻辑功能的工具,使我们的 code 逻辑清晰。
首先,函数语法格式:
def 函数名(参数列表): 函数体
看个实例:
def fun(name, age="30"): print("我是:", name) print("今年: " + age) returnfun(name="laowang", age="40") # 函数调用
这是函数申明以及调用的使用方法
值得一说的是,python 函数里的参数,不像C#,C++在函数声明时就定义好参数类型的,python里的参数有以下几类:
必须参数:在某些函数里,如果不传参数,就会报错,如:
# 打印任何传入的参数def printme(str): print(str); return;# 调用printme函数printme();没有传参的运行结果:
Traceback (most recent call last): File "H:/徐远军/Pythpn_Learn_Projects/Learn_01/Learn_01_Loop", line 75, in <module> printme();TypeError: printme() missing 1 required positional argument: 'str'
正确结果:
printme("hello老王")hello老王
默认参数:
# 函数声明 def 关键字def fun(name, age="30"): print("我是:", name) print("今年: " + age) returnfun(name="laowang") # 函数调用
运行结果:
我是: laowang今年: 30可以看到,在函数调用时候,传参只传进了一个 name = "laowang",age 参数没有传,结果却显示了 age:30,所以在函数声明时已经初始化过的变量参数就是默认参数,在函数调用时候就不用再次传参;
关键字参数:
def printme(str): print(str); return;# 调用printme函数printme("hello老王")
运行结果:
hello老王str 是 python 里基本数据类型之一的 字符串 关键字,在 printme(str)函数里当作参数使用,此时 str 就是关键字参数;
不定长参数:
def fun1(a,*b): print("定长参数a:",a) print("下面是不定长参数C:") for c in b: print(c,end=" ") returnfun1(1,2,4,5,6,7,8)运行结果:
定长参数a: 1下面是不定长参数C:2 4 5 6 7 8
*b 就是一个不定长参数,使用 " * " 标记的参数变量名可以存放多个未命名的变量,在没有指定参数时,这个 *b 相当于一个空元组,在函数调用时,可以指定多个变量,也可以不指定变量;
lambda 用于创建匿名函数,即:不适用 def 关键字的格式来创建函数;
lambda 只是一个表达式,不是代码块(区别于C#:C# 中 lambda 表达式可省略方法名,参数,直接接入代码块
()=> { . . .} 也称作箭头表达式)
lambda 表达式拥有自己的引用空间,不能访问表达式之外 或 全局变量的参数变量;
lambda 表达式格式:
lambda [arg1 [,arg2,.....argn]]:expression注意:代码块不能换行写,必须跟在 " :" 后面写
实例:
sum = lambda num1,num2:num1+num2print(sum(2,4))运行结果:
6
阅读全文
0 0
- python学习系列(七)函数和Lambda表达式
- python中reduce函数和lambda表达式的学习
- python学习中的reduce()函数和lambda表达式
- python学习笔记,序列、函数、lambda表达式
- Kotlin学习(十二): 函数、高级函数和Lambda表达式
- python map()函数和lambda表达式
- Python--lambda表达式学习
- Python 匿名函数 lambda表达式
- python学习第14天021函数:lambda表达式
- Python学习之高阶函数与lambda表达式
- python网络数据学习范例-正则表达式+lambda函数
- 『 Python笔记』 lambda表达式和函数式编程
- Python中lambda表达式学习
- Python中lambda表达式学习
- Python中lambda表达式学习
- Python中lambda表达式学习
- Python中lambda表达式学习
- Python中lambda表达式学习
- 运营_APP的常见盈利模式
- 登录rabbitmq报错User can only log in via localhost
- android入门遇到的问题
- 欢迎使用CSDN-markdown编辑器
- 一篇真正教会你开发移动端页面的文章(一)
- python学习系列(七)函数和Lambda表达式
- Android小白进阶(三)--自定义控件之自定义View
- 用户组修改工具samusrgrp
- js--打卡--12.11 dom查询常用方法及实例
- 数列有序!
- Android JNI/NDK 开发
- Android Studio中替换aar包不生效
- Online Subsystem Steam 在线子系统Steam (虚幻引擎UE4 联网)
- PHP生成的CSV格式打开乱码