day006-python函数
一、定义函数 def 函数名():
函数体代码
例:
#定义函数
def email():
print('send email')
#调用执行函数
email()
二、函数的返回值
def email():
print("send email")
return "发送成功" #没有return,默认返回None
ret = email() #函数return后面是什么值,ret等于返回值
print(ret)
注意:一旦遇到return,函数内部return以下的代码不再执行。
三、函数的普通参数
def email(address): #address为形式参数
print(address)
return True
ret = email('123@qq.com') #调用执行传值,为实际参数
#传参,默认是按顺序传值,也可以指定形参传入实参,就可以不按顺序
四、函数的默认参数
#注意:有默认值的参数要放在后面
def email(name, address="456@163.com"): #name、address为形式参数,address有默认值为456@163.com
print(name, address)
return True
五、函数的动态参数
1)简单的动态参数
#注意:加上一个*号,即可成为动态形式参数,转换元组;加上两个**号时,转换成字典
def email(*addr, **address):
print(addr)
print(address)
email(11, 22, 33, k1 = 123, k2 = 456) #在动态函数参数中,可以传入多个参数
结果:
(11,22,33)
{'k1':123, 'k2': 456}
2)为动态参数传入列表、字典或元组
2.1)实参传入列表
def f1(*args):
print(args)
li = [11,22,33,44] #列表
f1(li) #结果为[11,22,33,44]
f1(*li) #结果为(11,22,33,44),注意在传入实参时,加入*号
2.2)实参传入字典
def f2(**kwargs):
print(kwargs)
dic = {'k1':789} #传入字典
f2(dic) #结果报错
f2(**dic) #结果为{'k1':789},注意在传入实参时,加入**号
注意:python语言传参,传入的引用。
六、全局变量、局部变量
P = "python" #p为全局变量,变量名一般大写,可以共享使用
def func():
a = 123 #a 为局部变量,变量名一般小写,只能在func()函数中使用
#如果在函数内想修改全局变量,则需要使用关键字global
global P
P = "java" #全局变量P的值被修改为"java"
print(a) #结果为123
print(P) #func()函数可以使用全局变量
七、lambda表达式
lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数
a.lambda表达式的创建
函数名 = lambda: 函数体
实例一:
func = lambda: 123
r = func()
print(r) #结果为: 123
实例二:
add = lambda x, y : x+y
add(1,2) # 结果为3
day006-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函数传参是传值还是传引用?
首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...
随机推荐
- [转帖]Redis持久化--Redis宕机或者出现意外删库导致数据丢失--解决方案
Redis持久化--Redis宕机或者出现意外删库导致数据丢失--解决方案 https://www.cnblogs.com/xlecho/p/11834011.html echo编辑整理,欢迎转载,转 ...
- python 知识回顾
第一章:搭建编程环境1.在Windows系统中搭建Python编程环境. 1.1 安装Python 访问http://python.org/downloads/ ,点击下载到本地,后安装. 1.2安装 ...
- TestNG系列(一)TestNG+Eclipse环境配置
前提 1.JDK的安装与环境变量的配置 2.Eclipse的下载与安装 以上这些是基础中的基础,不再详细介绍. Eclipse安装TestNG插件 打开eclipse--->help---> ...
- SpringBoot入门初体验
概述 Java项目开发中繁多的配置,复杂的部署流程和第三方技术集成让码农在开发项目中效率低下,因此springBoot应运而生. 环境 IntelliJ IDEA 2018.3 jkd1.8 开始(傻 ...
- K8S学习笔记之Kubernetes 配置管理 ConfigMap
0x00 概述 很多情况下我们为某一应用做好镜像,当我们想修改其中的一些参数的时候,就变得比较麻烦,又要重新制作镜像,我们是不是有一种方式,让镜像根据不同的场景调用我们不同的配置文件呢,那我们就需要用 ...
- 发送邮件使用html模板的实现的大致思路
客户最近有一个需求,大致的意思是提供一个 word文档,让其作为一个模板,在发送邮件的时候能够实现按照这个模板的样式和内容,替换其中 的一些字段,作为邮件的内容发给收件人.这个需求最大的问题就是在于这 ...
- Quartz.net使用笔记
一.需求场景:每天固定时间执行某个行为/动作. 一开始想用定时器,后来无意间发现了这个插件,感觉功能太强大了,完美解决了我的问题. 二.下载地址:https://www.quartz-schedule ...
- javaScript 对象的hasOwnProperty方法打印window自定义属性
for (var name in window) { if (window.hasOwnProperty(name)) { window.console.log ( name + " : & ...
- Python面向对象继承案例
面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 继承 实现代码的重用,相同的代码不需要重复的编写 多态 不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活 ...
- Java之路---Day12(多态)
2019-10-26-22:40:09 目录: 1.多态的概念 2.多态的分类 3.实现多态的三个必要条件 4.多态的格式 5.多态成员变量的使用特点 6.多态成员方法的使用特点 7.多态的好处 8. ...