Python学习笔记(十一):Python函数

overleaf导入模板 本文介绍了如何在Overleaf平台导入Springer Nature模板。首先下载所需的模板压缩包,然后在Overleaf中选择"Upload project"上传该压缩包。上传后会显示模板文件,包括EPS格式图像文件、LaTeX源文件、BibTeX参考文献文件、PDF输出文件以及文档类文件。这些文件共同构成了完整的LaTeX模板,可用于学术论文写作和排版。 阅读详情

以Mark Lutz著的《Python学习手册》为教程,每天花1个小时左右时间学习,争取两周完成。 --- 写在前面的话


2013-7-21 22:00 学习笔记

1,def是Python中的一个可执行语句——函数并不存在,直到Python运行了def后才存在。def创建了一个对象,并将其赋值给一个变量名,这个变量名就是函数名。def可以出现在任一语句可以出现的地方——甚至是嵌套在其他语句中。例如:

def times(x,y):
	return x*y
	
print times(2,3)
print times('mathboy',3)
结果为:

6
mathboymathboymathboy

2,def定义的变量只能在def内被使用,不能再函数外部被使用。一个在def之外被赋值的变量X与一个在def内被赋值的变量X是完全不同的两个变量。

3,Python变量可以分为本地(def内部,除非用global声明)、全局(模块内部)、内置(预定义的__builtin__模块)。全局声明global会将变量名映射到模块文件内部的作用域。变量名的引用将依次查找本地、全局、内置变量。例如:

X = 99

def add(Y):
	Z = X + Y
	return Z
	
print add(1)
结果为:

100

4,global语句用于声明一个或多个全局变量。例如:

X = 88
def func():
	global X
	X = 99
	
func()
print X
输出结果为:

99
再例如:

y,z = 1,2

def func():
	global x
	x = y + z

func()	
print x,y,z
结果为:

3 1 2

5,导入一个模块后,该模块的全局变量就成为该模块对象的属性。文件间通信,不要这样做:

# first.py
X = 99

# second.py
import first
first.X = 88
而应该这样做:

# first.py
X = 99

def setX(new):
	global X
	X = new
	
# second.py
import first
first.setX(88)

6,函数是可以嵌套的。例如:

def f1():
	x = 88
	def f2():
		print x
	f2()
	
f1()
结果为:

88

7,函数嵌套可以用于实现工厂函数。例如:

def maker(M):
	def action(X):
		return X**M
	
	return action

f = maker(3)
print f(2)
输出结果为:

8

8,函数可以有默认参数。例如:

def fun(a,b=3):
	return a+b

print fun(1,2)
print fun(2)
结果为:

3
5


9,def中还可以使用lambda表达式。例如:

def func():
	x = 4
	action = (lambda n: x**n)
	return action

f = func()
print f(3)
输出结果为:

64

10,Python函数中,不可变参数(例如数字和字符串)是“通过值”进行传递的,可变对象(例如列表和字典)是通过“指针”进行传递的。例如:

def func(a,b):
	a = 1
	b.append(1)
	
x = 0
y = [0]
func(x,y)
print x,y
结果为:
0 [0, 1]

11,Python函数的返回值可以有多个变量,相当于返回的是一个元组,只是圆括号()被省略了。例如:

def set(a,b):
	a = 3.14
	b = [1,2,3]
	return a,b
	
x = 6.28
y = [4,5,6]
x,y = set(x,y)
print x
print y
输出结果为:
3.14
[1, 2, 3]

12,Python支持关键字参数,所有基于位置的参数将首先按照从左到右的顺序匹配头部的参数,之后再进行基于变量名的关键字匹配。例如:

def fun(a,b,c):
	print a,b,c

fun(1,c=3,b=2)
fun(c=3,a=1,b=2)
输出结果为:

1 2 3
1 2 3

13,默认参数和关键字参数可以一起使用。例如:

def fun(a,b=2,c=3):
	print a,b,c

fun(1,c=4)
输出结果为:

1 2 4

14,Python还支持函数的任意参数。第一种方法是在元组中收集不匹配的任意参数。第二种方法是在字典中收集不匹配的关键字参数。例如:

def func(a, *pargs, **kargs):
	print a
	print pargs
	print kargs
	
func(1,2,3,x=1,y=2)
输出结果为:

1
(2, 3)
{'y': 2, 'x': 1}

15,在函数调用时也可以使用*语法,来分解参数的集合。例如:

def func(a,b,c,d):
	print a,b,c,d

func(*(1,2,3,4))
func(1,*(2,3),**{'d':4})
func(1,c=3,*(2,),**{'d':4})
输出结果为:

1 2 3 4
1 2 3 4
1 2 3 4





成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题 成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题 目录 解决问题 解决思路 解决方法 T1、修改默认配置 T2、修改后缀参数(此方法是其他网友推荐,博主没有尝试) T3、如果以上还不成功,这个时候很可能是环境配置有问题 解决问题 使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题 解决思路 使用jupyter notebook命令打开原先存的.ipynb文件突然消失,说明... 阅读详情

相关推荐

SPSS操作(五):主成分分析

1、将数据导入spss,并定义变量,将铁路运输业职工人数(人)、城市公共交通业职工人数(人)、邮政业职工人数(人)、电信和其他信息传输服务业职工人数(人)、客运量(万人)、接待入境旅游人数(万人次)、普通高校师生比(%)、星级住宿业营业额(亿元)分别定义为x1,x2,x3,x4,x5,x6,x7,x8 如图: 2、对数据进行标准化处理 ①选择【分析】—【描述统计】—【描述】 ②添加要标准化的变量,勾选【将标准化值另存为变量(Z)】,再点确定 ③返回原来的数据窗口就可以看见标准化后的变量了 3、SPS

My_daily_life的博客 8万+

Python基础篇 | 函数

函数 Python中的函数主要分为三种: 内置函数(内置在解释器中的函数) 模块函数(定义在(第三方)模块中的函数) 用户自定义函数(可以在类中可以在类外) 辨析:函数和方法 函数时指类外定义的“函数”,可以直接用函数名调用 方法时指类中定义的“函数”,必须通过对象名调用 内置函数 内置函数(Bulit-In Function,BIF),已内置在解释器中,直接通过函数名调用 如:type() 查看方法:dir(__builtins__) 数学函数 绝对值abs() 最大最小值max() min() 次

frozen122的博客 565

Blender关于GIS安装及使用天地图

Blender下载安装及GIS插件的安装及使用

Miss_SQ的博客 6971

Python——高阶函数

文章目录概念Python内置的高阶函数map()对目标序列每个元素求绝对值对每个元素求平方有10个2-7之间的随机数,对每个元素求阶乘将list中的元素全部转换成int类型规范用户输入名reduce()求和(累加)累乘str转换intfilter()list中只保留偶数删除1~100的素数sorted()sort相关笔试题(携程笔试)匿名函数:lambda示例 概念 高阶函数:传递的参数包含另一...

weixin_38044888的博客 715

基于ADRC算法的多旋翼飞行器抗扰动控制实践

本文详细介绍了基于ADRC算法的多旋翼飞行器抗扰动控制实践,通过线性扩张状态观测器(LESO)实时估算风力等扰动,实现提前补偿,显著提升飞行稳定性。文章结合具体案例和工程实现技巧,展示了ADRC在突风条件下的优异表现,为无人机控制提供了高效解决方案。

weixin_29284885的博客 191

Sentinel2 哨兵2数据下载方法(USGS)-史上最全讲解

本文讲述了从USGS官网下载Sentinel2的方法。主要包括USGS官网的注册和下载流程,以及选定研究区中所出现的问题、解决办法。

xiatiandexia123的博客 6万+

Python---函数参数-实参

def fun01(p1,p2,p3): print(p1) print(p2) print(p3) #1\位置实参:根据位置与形参进行对应 fun01(1, 2, 3) list01=[1,2,3] fun01(*list01)#*号会拆分序列元素,与形参进行对应 # 2.  序列实参:使用星号将序列中的元素进行拆分,根据位置与形参进行对应. dict01 = {"a": 1, "b": 2, "c": 3} # 只传递了键 list01 = [2, 3, 4].

qq_31129697的博客 442

组合导航 | RTK、IMU与激光雷达组合导航算法:原理、实现与验证

当激光雷达噪声增加至0.1m时,系统位置RMSE仅上升18%,验证了滤波算法的鲁棒性[110]:融合方案在RTK信号丢失30秒后,位置误差仍控制在1.5m内,显著优于IMU单独导航[28]:ESKF框架能有效建模传感器误差特性,状态向量需包含外参与时间偏移等关键参数。:传感器标定精度直接影响系统性能,建议每3个月进行一次重新标定。:IMU预积分与特征匹配是系统实时性的关键瓶颈,需重点优化。:维持10秒窗口内的关键帧,平衡精度与实时性[132]:特征匹配占总耗时的65%,可通过。

尘世冰封的专栏 943

Python系列问题

Python语句序列"f=lambda x,y:x*y; f(12,34)"的运行结果是()

qq_54310361的博客 1301

数据分析案例-汽车客户信息数据可视化分析

本数据集来源于kaggle,原始数据集共有8068条,11个特征变量,各变量含义解释如下:ID:客户IDGender:客户性别Ever_Married:客户婚姻状况Age:客户年龄Graduated:客户是毕业生吗?Profession:客户的职业Work_Experience:多年工作经验Spending_Score:客户的消费评分Family_Size:客户家庭成员人数(含客户)Var_1:客户的匿名类别Segmentation:(目标)客户的客户群。

m0_64336780的博客 1万+

CANFD加速是什么?和CANFD有什么区别?

在使用CAN设备上位机的时候,已经选择了CANFD,但还有一个选项是“CANFD加速”,那CANFD加速和不加速有什么区别呢?刚接触CANFD小伙伴肯定一脸懵,本篇主要是给大家分享一下他们的区别,如果对你有帮助,请转发,收藏,点赞💐🎉👍😊

汽车电子软件领域知识分享 1035

Python 函数多个参数设置说明

python 函数参数设置

Django2.0.7 常见问题记录 1263

XXL-Job 分布式定时任务

XXL-JOB是一款轻量级分布式定时任务调度框架,采用调度中心与执行器分离架构,解决单机任务宕机、重复执行等问题。核心模块包括调度中心(管理任务配置、触发调度)和执行器(执行任务逻辑),支持集群部署保证高可用。框架提供丰富的任务触发规则、路由策略、阻塞策略及完善的运维能力,适用于多种业务场景如数据同步、定时推送等。安装时需准备MySQL数据库并初始化表结构,通过Docker部署调度中心服务。相比其他定时框架,XXL-JOB具有轻量化、可视化等优势,是中小企业的首选方案。

郭宝的博客 699

python 学习笔记十一 函数

文章目录函数定义函数调用函数函数的参数默认参数实参的传递方式位置参数关键字参数实参类型不定长参数(参数的装包)参数的解包返回值help(函数名)文档字符串作用域全局作用域函数作用域变量的查找 函数 函数也是一个对象; 函数用来保存一些可执行的代码,并在需要的时候对这些语句进行多次的调用; 函数常用于实现某种功能; 定义函数 格式: def 函数名 ([形参1…形参n]):   代码块 注意 ...

Late_whale的博客 作者:代码搬运工老李的二师兄 2990

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【Python学习笔记】十一.Python3函数

文章目录0.序言1.定义一个函数 相关笔记链接: 【Python学习笔记】一.Python3基础语法 【Python学习笔记】二.Python3基本数据类型 【Python学习笔记】三.Python3数据类型转换 【Python学习笔记】四.Python3推导式 【Python学习笔记】五.Python3解释器 【Python学习笔记】六.Python3注释 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 0.序言 函数是组织好的,可重复使用

计算机科研杂货铺 715

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Python学习笔记 十一 (函数的使用)

高内聚低耦合是评价一个程序优劣的标准之一,而函数的灵活使用就能很好的提高每个功能之间的内聚耦合程度,下面我对Python的函数使用进行简单总计,希望能对你我有益。

weixin_44298385的博客 279

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

python函数查询作用_Python学习笔记的11个功能,python,十一,函数

函数(function)函数也是一个对象;函数用来保存一些可执行的代码,并在需要的时候对这些语句进行多次的调用;函数常用于实现某种功能;定义函数格式:def 函数名 ([形参1…形参n]):代码块注意函数需要调用的时候才会执行;调用函数格式:函数名()注意直接使用函数名是使用的函数对象,而不是对函数进行调用;函数的参数在定义函数时可以在函数的()里定义数量不等的形参;多个形参之间用逗号,隔开;形参...

weixin_39568172的博客 131

Python学习笔记(十一)—— 函数式编程

一、函数式编程理念   函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。   函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允...

KEVINZHAO124517的博客 171

python学习笔记(十一)函数深入(2)

python学习笔记(十一)函数深入(2) 1、传递任意数量实参 有时候定义函数时,我们不知道调用语句会传入多少个实参,这时候python为我们提供了一个特殊的形参名(在形参变量名前加上一个‘*’),这使得程序在运行的时候创建了一个空元组,无论传入多少实参,都会被封装到这个元组中。看例子: def learn_languages(*languages): print(languages) fo...

weixin_44650011的博客 234

【Python学习笔记】第二十一节 Python Lambda 函数

Python学习笔记之Lambda 函数

yubao0723的专栏 696

11. Python脚本学习笔记十一函数与参数

11. Python脚本学习笔记十一函数与参数                   本篇名言:“每当夜深人静的时候望着那灿烂的夜空我会感到那里充满了太多的梦想、告诉自己生命就象一场比赛、不争取就一定会失败!”   先来看下python 下实现斐波那契数列 >>> for i in range(8): ...    fibs.append(fibs[-2]+fibs[-1]) ...

badman250的专栏 578

Python学习笔记(二十一):函数名重名

函数名重名: 在其他语言中,如果存在函数名相同,参数也相同,返回类型也相同的情况,会出现错误;但是在 python 中不会出错,而是后定义的函数,会覆盖掉先定义的函数;如下代码: # 定义两个函数,名称相同 def test(): print("=== test1 ===") def test(): print("=== test2 ===") # 调用函数 test() 输出结果: 这是因为: 第一次定义函数 test() 的时候,python 解析器会在内存中开辟一个

秋忆夏伤的博客 3690

Python基础学习笔记(十一)函数、模块与包

  参考资料:   1. 《Python基础教程》   2.http://www.runoob.com/python/python-functions.html   3.http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000   4.http://www.runoo...

aws10686的博客 176

python模块函数列表的关系_Python基础学习笔记(十一)函数、模块与包

参考资料:1. 《Python基础教程》▶函数Python的参数都是引用传递。函数语法如下:deffunctionname( parameters ):"函数_文档字符串"function_suitereturn [expression]实例:defprintme( str ):"打印传入的字符串到标准显示设备上"printstrreturnPython支持缺省参数和不定长参数,缺省参数的定义与...

weixin_39580682的博客 182

python tail函数_GEE学习笔记 七十一:【GEE之Python版教程五】Python基础编程三

紧接上一节的内容,这章继续讲解python的逻辑基础,主要涉及到逻辑判断、循环、函数等内容。 1、逻辑判断主要就是使用if来做各种条件判断 (1)if条件判断 这个非常简单,主要就是考虑传入的判断值,这里可以直接传入布尔值,或者通过运算符计算得到对应的布尔值。 # 条件判断 age = 15 if age >= 18: print(u"你成年了!") elif age &gt...

weixin_39632698的博客 1421

Python3学习笔记(十一):函数参数详解

一、位置参数 根据参数的位置来传递参数,调用函数时,传递的参数顺序和个数必须和定义时完全一致 # 定义函数 def man(name, age): print("My name is %s,I am %d years old." % (name, age)) # 调用函数 >>> man('eastonliu',32) My name ...

weixin_34376986的博客 156
上一篇: WP8使用Google同步时遇到的问题
下一篇: Python学习笔记(十二):lambda表达式与函数式编程
mathboylinlin
博客等级 码龄18年 101粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值