python函数理解,python对函数的理解

函数

函数可以提高编写代码效率、代码的重用、让程序更小、模块化

可以将一段独立功能的代码集成在一个块中、封装独立功能

# 函数定义(参数名为形式参数)

def 函数名(参数名):

函数体

# 调用函数(享受封装的成功)

函数名(实际参数)

例:print函数

print(sep,end) sep(元素中分割)和end(结束符)为函数的参数

函数的参数

# 函数共有四种参数(位置参数、关键字参数、默认参数、可变参数),下面分别来介绍这四种参数

# 位置参数(输入的实际参数的时候和形式参数的位置是一一对应的)

例:

def number(a,b):

函数体

注意:number(a,b) a和b的位置不可变,否则会影响结果,这种形式就是位置参数、实参个数与形式参数个数一致

# 关键字参数(输入的实际参数位置可以和形式参数位置不一致,由关键字判断)

例:

def number(a,b):

函数体

number(a=,b=) a和b的位置可变,由关键字区分,实参个数和形式参数个数一致

# 默认参数

例:

def number(a,b=1):

函数体

number(a="1",b) b可以不用传参,会直接使用默认参数,如果在实参中(关键子参数、位置参数)传了默认参数会使用实参来代替默认参数、在函数定义时,默认参数需要放在非默认参数后面

# 可变参数

例:

def number(*args,**kwargs):

函数体

type(args)=tuple将形参接收到的所有位置参数,会保存到元组中,*一个星号只能接收位置参数

tyoe(kwargs)=dict将形参接收到所有关键子参数,会保存到字典中,**两个型号接收关键参数

return

一个函数默认不使用return返回的话,默认返回None

函数中遇到return就会返回,这个函数运行结束

return的返回值会返回到函数调用处

可以返回多个值,用逗号隔开

返回多个值类型是元组类型

使用return会跳出循环

模块及函数的调用

#模块定义: 任意一个py文件就是模块

模块的名称,一定要符合标识符的命名规范

py文件中定义的函数,变量,类型能呗其他py文件导入之后,进行调用

#函数的调用:

import py文件

from xxx import 特定的函数

from xxx import * (导入所有函数和全部变量) 不推荐使用,有可能造成重名,外加占用cpu

变量

# 函数中的作用域

局部变量:函数体内部定义变量

全局变量:模块内的变量

# 函数体内的一个变量查找顺序

1、当前函数内部作用域中查找有没有定义这个变量

2、会去全局作用域中查找,如果有同名的变量,那么会直接获取

3、会去系统模块中查找,如果系统模块中找不到,那么会NameError异常

# 函数体内部将局部变量改为全局变量

global变量 # 使用global后,指定的变量一定为全局变量

来源:https://www.cnblogs.com/xiaoxiaozhaoxin/p/13273158.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

06:空格分隔输出

描述 读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时保留6位小数。 输入共有四行:第一行是一个字符;第二行是一…

iOS开发UI篇—九宫格坐标计算

iOS开发UI篇—九宫格坐标计算 一、要求 完成下面的布局 二、分析 寻找左边的规律,每一个uiview的x坐标和y坐标。 三、实现思路 (1)明确每一块用得是什么view (2)明确每个view之间的父子关系,每个视图都只有一个父视图,拥有很多的子视图。 (3)…

工业4.0时代企业如何用CRM实现模式变革

当前,全球经济正处于变革的巨大浪潮之中,对于制造业来说,德国提出工业4.0,美国提出工业互联网,而我国,正在大力推进“中国制造2025”。制造业实现转型升级势在必行。我国政府提出,要大力支持传统…

oracle 9.2.0.2,在RedHat enterprise server 3 安装oracle9i 2.0.0.1 并升级到9.2.0.6

oracle9i 2.0.4上个月从oracle网站下载没有安装在els3上。参考了网上的一些文章,并根据文章的提示找了一些资料和补丁,完成了这次的安装。[more]1.安装RedHat EL3现在的安装界面都做的很好了,一路NEXT就可以安装了.如果有困难,请参考其他linux安装文档进…

spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式

spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式 在类名,接口头上注解使用在 JsonIgnoreProperties(value{"comid"}) //希望动态过滤掉的属性 例 JsonIgnoreProperties(value{"comid"}) public interface 接口名称{ } JsonIgnorePro…

HawkHost老鹰主机更换主域名方法

http://www.yd631.com/change-hawkhost-primary-domain/圣诞节优惠期间,很多童鞋们购买了老鹰主机,可能由于大家初次使用海外主机或者是CP面板的空间。购买主机的时候主域名是随便输入的或者是输入后想换一个。我们可以通过以下方法进行操作。之前我们QQ…

ERP CRM与SCM整合过程中的知识转移

ERP(Enterprise Resource Planning,企业资源计划)、CRM(Customer Relationship Management,客户关系管理)、SCM、CRM(Customer Relationship Management,客户关系管理)、SCM(supply chain management,供应链管理)作为现代企业管理…

ubuntu 64 12.04 oracle,ubuntu server 12.04 x86_64 下安装oracle xe 11 x86_64

1.下载oracle xe我下载的是oracle-xe-11.2.0-1.0.x86_64.rpm.zip2. 安装必要程序或文件$sudo apt-get install unzip chkconfig libaio1 alien3.解压上面的oraclexxx.zip文件,然后进行转换$sudo alien -d --scripts oracle-xe-11.2.0-1.0.x86_64.rpm上面转换完成后会生成一个 o…

IEnumerable 遍历用法

咋一看到IEnumerable这个接口,我们可能会觉得很神奇,在一般的编程时,基本上我们是想不到去用它的,可是,俗话说得好,存在便是道理,那么,它对我们来说,能够带来哪些奇妙的事…

DELPHI设置枚举类型size

delphi枚举类型长度默认为2个字节(单字),而在C中枚举为4个字节(双字),如果需要跨这两个平台编程,传输结构时会由于数据长度不一造成灾难。 经过查找资料,原来delphi可以通过{$Z} {$Z-} {$Z1} {$Z4} 等宏设置枚举类型的长度&#x…

Nginx 反向代理 websocket 协议

为什么80%的码农都做不了架构师?>>> 主要配置内容 server {listen 80;server_name xxx.xxx.xxx;location / {try_files $uri $uri/ /index.html;root /workspace/www;index index.html index.htm;}location ^~/letchat/ {proxy_pass http:/…

oracle中区间大小,Oracle的逻辑结构(表空间、段、区间、块)——总结

Oracle逻辑结构全景结构图以下为个人整理的一些关于Oracle逻辑结构的相关数据字典:SELECT * FROMDBA_TABLESPACES--记录各个表空间的详细信息SELECT * FROMDBA_TABLESPACE_USAGE_METRICS--记录各个表空间的使用状况SELECT * FROMDBA_DATA_FILES --记录各个数据文件的…

C#3.0之神奇的Lambda表达式和Lambda语句

“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。所有 Lambda 表达式都使用 Lambda 运算符 >,该运算符读为“goes to”。该 Lambda 运算符的左边是输入参数(如果有&#xff09…

[C++] Nested Radical Constant

做高数助教被天煞的大一学生坑了,发现是个未解问题,没有解析解。。 用C搞了下,就是这样。。。 No closed-form expression is known for this constant (Finch 2003, p. 8; S. Plouffe, pers. comm., Aug. 29, 2008). /*********************…

api-gateway实践(03)新服务网关 - 网关请求拦截检查

参考链接:http://www.cnblogs.com/jivi/archive/2013/03/10/2952829.html 一、为什么要拦截检查请求? 防止重放攻击、篡改重放,进行使用规格检查 1、请求可能是重放攻击 重放攻击的基本原理就是把以前窃听到的数据原封不动地重新发送给接收方…

oracle存储过程关键字有哪些,ORACLESTREAMS存储过程中的一些参数有哪些?

1,maintain_mode参数可取golbal或transportable tablepsaces,当该参数取global时,表示streams进行全库复制,否则表示streams进行表空间复制,需要在tablespace_names参数中指定待复制的一个或多个表空间。2,…

正则验证多个邮箱用分号隔开

代码如下&#xff1a; <script> var str xxxx126.com;123234234qq.com;xxxxxxxxxx.con.cn; var reg /^((([a-z0-9_\.-])([\da-z\.-])\.([a-z\.]{2,6}\;))*(([a-z0-9_\.-])([\da-z\.-])\.([a-z\.]{2,6})))$/; if(reg.test(str)){ alert(1); }else{ …

转载-使用 Feed4JUnit 进行数据与代码分离的 Java 单元测试

JUnit 是被广泛应用的 Java 单元测试框架&#xff0c;但是它没有很好的提供参数化测试的支持&#xff0c;很多测试人员不得不把测试数据写在程序里或者通过其它方法实现数据与代码的分离&#xff0c;在后续的修改和维护上有诸多限制和不便。Feed4JUnit 是开源的基于 JUnit 的扩…

青岛智能院助力智慧城市 打造智能产业“黄埔军校”

作为青岛市的主干道之一&#xff0c;山东路的拥堵状况一直让人头疼。近日&#xff0c;因为一种交通组织优化方案的实施&#xff0c;山东路和延吉路的通行率提高了近50%。而研发这种智能管控系统的正是位于青岛高新区的青岛智能产业技术研究院。截止今年5月份&#xff0c;青岛智…

oracle备份归档文件,oracle 如何不备份已经备份的归档

在Oracle数据库备份归档日志时&#xff0c;通常会保存最近几天的归档日志文件不删除。如&#xff1a;backup archivelog all;delete noprompt archivelog all completed before sysdate -14; 在本地保留14天的归档日志&#xff0e;再备份时&#xff0c;归档会重复再备份一次。…