Python新手入门,在python中函式定义主要有四种方式:
[1]
F(arg1,arg2,...),最常见的定义方式,一个函式可以定义任何个参数,每个参数间用逗号分割,用这种参数在调用的时候必须在函式名后面的小括号中提供个数相等的值(实参),并且顺序必须相同,形参与实参一一对应
def a(x,y):
print x,y
调用a函式,a(1,2)则x=1,y=2,如果a(1)或者a(1,2,3)则会出错
[2]
F(arg1,arg2=value2,...agrN=valueN),则将为函式提供默认值。
def a(x,y=3):
print x,y
调用该函式,a(1,2)则x=1,y=2,如果a(1)不会导致错误,此时x=1,y=3,y值将使用默认值,a(y=4,x=2)同理
可变参数
[3]
F(*arg1),以一个*加形参的方式来表示函式的实参个数不确定,参数个数>=0,采用这样的方式定义函式,在函式内部将以实参名的方式构建一个元组(tuple)
def a(*x):
# 定义一个名为x的元组
def a(*t):
print x
>>>a(1)
(1,)
>>>a()
None
>>>a(1,2,3)
(1,2,3)
遍历该元组(计算总和)的一种方式,此时r定义为一元组:
def y(*r):
x = 0
for t in r:
x += t
print x
[4]
F(**arg)形参名前加2个**表示在函式内部将被存放在以形参名为标识符的dictionary,这时调用将使用arg1=value1,arg2=value2...
def a(**b):
print b
>>>a()
None
>>>a(x=1,y=2)
{'y':2,'x':1} #注意遍历返回的顺序与形参位置顺序相反
>>>a(1,2) #error
可通过以下方式来获取预期键值对,如果形参是未定义'y'的键,将返回None
def a(**x):
print x.get('y')
>>>a(x=1,y=2)
2
>>>a(x=1)
None
>>>a(x=1,b=2)
None
Python参数调用过程按照以上四种方法优先级依次降低。
[1]方式解析,然后是[2]中的arg=value方式,再分别按照[3]>[4]优先级传参
这是自己第一份通过Blog整理的学习笔记,希望对自己,对浏览至此的各位朋友有所帮助,以上函式命名不符合规范,仅用于简单标识说明,使用python 2.6.2
分享到:
相关推荐
自从20世纪90年代初Python语言诞生至2022年,它已被逐渐广泛应用于系统管理任务的处理和Web编程,Python已经成为最受欢迎的程序设计语言之一。 Python教学简单易懂,零基础小白也可以学会,只要你有耐心学习从入门到...
我们将从本任务出发,较为系统的学习Python中函数的定义、调用、函数的形参定义、函数的参数传递以及匿名函数和生成器函数等内容,并掌握相关的配套案例。 任务 IQ智商测试 任务知识点 函数定于与调用 函数参数 匿名...
Python 2.7.8解压版还包含了许多内置模块,比如`os`用于操作系统接口,`sys`用于访问Python系统参数,`numpy`和`pandas`提供科学计算功能(尽管这两个不是Python标准库的一部分,但通常会在解压版中预先安装)。...
本项目"python系统服务源码"提供了一个完整的解决方案,适用于Windows操作系统,实现了服务的注册、启动、停止等功能。接下来,我们将深入探讨其中涉及的关键知识点。 首先,`windowsvc.py`是核心的服务实现模块。...
布尔莎模型是地心参考框架转换的经典方法,它通过7个参数(三个平移参数、三个旋转参数和一个尺度因子)来描述两个坐标系统的相对位置和形状差异。在Python中实现这种转换通常涉及以下步骤: 1. **导入相关库**:...
1. `argparse`模块:Python标准库中的`argparse`用于创建复杂的命令行接口,支持选项、参数和子命令。 2. `click`库:这是一个更高级的命令行工具库,提供了更友好的API和更好的用户体验,如自动帮助文档、命令行...
Python自动组卷系统是一种高效、灵活的工具,用于教育领域中的考试命题工作。该系统能够根据预设的规则和参数,自动从题库中选择题目并组合成完整的试卷。这样的系统通常采用Python编程语言实现,因为Python有丰富的...
- **config**:配置文件,用于设定系统运行的参数,如数据库连接信息、服务器设置等。 - **static**:存放静态资源,如CSS样式表、JavaScript脚本和图片等。 - **logs**:日志文件,记录系统运行状态和错误信息,...
推荐系统中的模型训练过程可能包括参数调优、正则化策略以及并行计算优化等。Python的scikit-learn和TensorFlow等库提供了方便的模型训练接口和优化工具,有助于快速实现和改进推荐模型。 七、部署与服务化 完成...
此外,模型优化、超参数调整和模型融合也是提高系统性能的关键环节。 总的来说,这个项目涵盖了Python编程、自然语言处理和机器学习的基本概念与应用,对于学习和提升这些技能是非常有价值的实践。通过这样的课程...
在本项目"python3基础名片管理系统"中,我们将探索如何使用Python 3的基本语法和编程概念来构建一个简单的名片管理应用程序。这个系统旨在帮助用户存储、检索和更新联系人的名片信息,是学习Python编程和实践面向...
在本项目中,"基于Python的在线课堂考勤系统"是一个创新性的教育技术应用,它利用了现代计算机视觉技术和深度学习方法,特别是卷积神经网络(CNN),来实现自动化的考勤管理。这个系统旨在提高课堂管理效率,减少...
这个基于Python的系统兼容Windows和Ubuntu两种主流操作系统,适应性强,易于部署。在Python开发环境中,该系统可能运用了Python的网络编程、数据处理、图形用户界面(GUI)等技术,这些都是Python在开发领域广泛应用...
在实现过程中,可能会使用到Python的标准库,如`os`模块用于文件路径操作,`sys`模块获取命令行参数,或者`argparse`模块构建命令行接口,使得用户可以通过简单的命令行参数交互操作学习系统。 最后,为了提高用户...
Python车辆违章查询系统是一种利用编程技术实现的工具,它能够帮助用户快速、便捷地查询车辆的违章信息。这个源码是用Python编程语言编写的,展现了如何通过网络接口或者数据接口与交通管理部门的数据库进行交互,...
在这个《教务信息管理系统》的课程设计中,学生将使用Python编程语言和相关的库来构建一个能够处理教务数据的系统。这个系统的核心部分是通过Python连接到MySQL数据库,利用pymysql库实现数据的存储、查询、更新和...
自从20世纪90年代初Python语言诞生至2022年,它已被逐渐广泛应用于系统管理任务的处理和Web编程,Python已经成为最受欢迎的程序设计语言之一。 Python教学简单易懂,零基础小白也可以学会,只要你有耐心学习从入门到...
【Python项目:大棚监测系统毕业设计】 在信息技术与现代农业紧密结合的背景下,Python项目“大棚监测系统”是一个典型的物联网(IoT)应用实例,它利用Python的强大学习和开发能力,构建了一个能够实时监控和管理...
在本项目中,“Python实现动物识别产生式系统”是一个针对初学者设计的机器学习实践案例。这个系统利用Python编程语言来构建一个能够识别不同动物的软件,它基于产生式系统模型,这是一种规则推理机制,常见于人工...