Python函数基础--def及return语句地操作
1·def是可执行的代码
Python的函数是有一个新的语句编写的,即def。不像C这样的编译语言,def 实际上是一个可执行的语句--函数并不存在,直到Python运行了def后才存在。在典型的操作中,def语句在模块文件中编写,并自然而然地在模块文件第一次被导入地时候生成定义的函数。
2·def创建了一个对象并将其赋值给某一个变量名
当Python运行到def语句时,它将会生成一个新的函数对象并将其赋值给这个函数名。函数名就变成了某一个函数的引用。函数对象可以赋值给其他的变量名,保存在列表之中。函数也可以通过lambda表达式来创建
3·return将一个结果对象发送给调用者
当函数被调用时,其调用者就停止运行知道这个函数完成了它的工作,这之后函数才将控制权返回调用者。(#1A #2func() #3B 先执行A语句,再执行func(),最后执行B语句)函数时通过return语句将计算得到的值传递给调用者的,返回值成为函数调用的结果
4·global声明了一个模块级的变量并赋值
在默认情况下,所有在一个函数中被赋值的对象,是这个函数的本地变量(local)(所有本地变量都会在函数调用时出现,并在函数退出时消失),并且仅在这个函数运行的过程中存在。为了分配一个可以在整个模块中都可以使用的变量名,函数需要在global语句中将它列举出来。通常情况下,变量名往往需要关注它的作用域(也就是说变量存储的地方)。并且是通过实赋值语句将变量名绑定至作用域的
5·函数是通过赋值(对象引用)传递的
在Python中,参数通过赋值传递给了函数(也就是说,就像我们所学过的,使用对象引用)Python的模式中,调用者及函数通过引用共享对象,但是不需要别名。改变函数中的参数名并不会改变调用者中的变量名,但是改变传递的可变对象可以改变调用者共享的那个对象。
6·参数,返回值以及变量并不是声明
就像在Python中所有的一样,在函数中并没有类型约束。实际上,从一开始函数就不需要声明:可以传递任意类型的参数给函数,函数也可以返回任意类型的对象。其结果就是,函数常常可以用在很多类型的对象身上,任意支持兼容接口(方法和表达式)的随想都能使用,无论它们是什么类型。
7·补充
Python中的return语句可以在函数主体中的任何地方出现。它表示函数调用的结束,并将结果返回至函数调用处。return语句包含一个对象表达式,这个对象给出的函数的结果。return语句是可选的。如果它没有出现,那么函数将会在控制流执行完函数主体时结束。从技术角度讲,一个没有返回值的函数自动返回了none对象,但是这个值往往是被忽略掉的。
Python的def语句实际上是一个可执行的语句:当它运行的时候,它创建一个新的函数对象并将其赋值给一个变量名(Python中所有的语句都是实时运行的,没有像独立的编译时间这样的流程)因为它是一个语句,一个def可以出现在任一语句可以出现的地方--甚至是嵌套在其他语句中。例如,尽管def往往是包含在模块文件中,并在模块导入时运行,函数还是可以通过嵌套在其他语句中去实现不同的函数定义,这样也是完全可以的。
它在运行时简单的给一个变量名进行赋值。与C这样的编译语言不同,Python函数子啊程序纪念性之前并不需要全部定义。更准确地讲,def在运行时才进行评估,而在def之中的代码在函数调用之后才会评估。
因为函数的定义是实时发生的,所以对于函数名来说并没有什么特别之处。关键之处在于函数名所引用的那个对象。Python中的函数仅仅是对象,在程序执行时它清楚的记录在内存中,除了函数调用外,函数允许任意的属性附加到记录信息以供随后使用。
Python函数基础--def及return语句地操作的更多相关文章
- Python 函数基础、有序集合、文件操作(三)
一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...
- 《转》Python学习(17)-python函数基础部分
http://www.cnblogs.com/BeginMan/p/3171977.html 一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/arch ...
- python函数基础(函数的定义和调用)
函数的定义 python定义函数使用def关键字 return[表达式]语句用于退出函数,选择性的向调用方返回一个表达式,不带参数值的return语句返回none def 函数名(参数列表): 函数体 ...
- python函数基础
一.基础 函数的定义 def 函数名(参数): ... 函数体 ... 返回值 #如果函数执行完毕也没有return语句时,自动return None. 空函数 如果想定义一个什么事也不做的空函数,可 ...
- python 函数基础介绍
函数是对程序逻辑进行结构化或过程化的一种编程方法.能将整块代码巧妙地隔离成易于管理的小块,把重复代码放在函数中而不是进行大量的拷贝. 一.函数创建 def 函数创建格式如下: def function ...
- python函数基础学习
函数的定义与调用: def 函数名(参数1,参数2): ‘’’函数注释’’’ print(‘函数体’) return 返回值 定 义:def关键字开关,空格之后接函数名和圆括号,最后冒号结尾 def ...
- 10分钟学会Python函数基础知识
看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...
- python函数基础 与文件操作
函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: def function_name(arg1,arg2[,.. ...
- 4.python函数基础
一.函数 1.函数简介 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但 ...
随机推荐
- RuntimeError: Model class app_anme.models.User doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.---python学习错误记录
untimeError: Model class app_anme.models.User doesn't declare an explicit app_label and isn't in an ...
- ctype.h
isalpha:int isalpha(char ch);检查ch是否是字母.是字母返回非0,否则返回0. iscntrl: int iscntrl(int ch); 检查ch是否控制字符(其ASCI ...
- [图形学] B样条曲线 - 原理和C++实现的演示程序(附源码)
http://blog.csdn.net/mahabharata_/article/details/71856907 大二的时候,曾受老师所托,用C++而不是OpenGL去写B样条曲线的教学程序.时隔 ...
- python 提取字符串中的指定字符 正则表达式
例1: 字符串: '湖南省长沙市岳麓区麓山南路麓山门' 提取:湖南,长沙 在不用正则表达式的情况下: address = '湖南省长沙市岳麓区麓山南路麓山门' address1 = address.s ...
- Android : Camera之CHI API
一.CAM CHI API功能介绍: CHI API建立在Google HAL3的灵活性基础之上,目的是将Camera2/HAL3接口分离出来用于使用相机功能,它是一个灵活的图像处理驱动程序(摄像头硬 ...
- P2010 回文日期 题解
这题其实就是纯暴力,暴力,再暴力,毫无技巧可言(总之您怎么乱搞都不会超时QAQ) 首先,根据题意,我们明白每年自多产生一个回文日期,因为对于每年的三百多天,前四位是固定的. 所以,我们只需要进行一个从 ...
- zookeeper集群的搭建(个人实践可行)
linux 上面 zookeeper 集群(最少3个节点192.168.204.128.192.168.204.129.192.168.204.130)安装 1.创建文件夹/usr/local/zoo ...
- 可编程逻辑控制器(PLC)漏洞挖掘思路与验证
mailto wangkai0351@gmail.com 随时记录千奇百怪的漏洞挖掘思路,主要针对STEP7 v5+西门子S7-300/400系列PLC,欢迎同行前来交流. 组态信息下载完整性攻击 思 ...
- 服务集群session问题
1. http协议本身无状态,可通过Session与Cookie记录前端与后端服务器的交互状态: 2. 但是每次客户端回传必须在头信息中带有cookie, 如果session过多,会增加数据传输量: ...
- css 清楚浮动的几种方式
方法一: 使用clear属性的空元素 <div style="clear:both;"></div> 方法二:使用overflow属性 给浮动的元素容器添加 ...