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().但 ...
随机推荐
- C语言:函数嵌套2^2!+3^2!
#include <stdio.h> long f1(int p); long f2(int q); int main (){ int i = 0; long s = 0; for(i = ...
- 005dayPython学习:编写并执行Pythong代码和流程梳理
一.创建 python 文件 PS:文件路径和文件名尽量不要包含中文! 二.编写python代码 1.头部的特殊两行 #!/usr/bin/env python # -*- coding:utf-8 ...
- RAID阵列盘有一块状态变为外来处理方法
感谢: https://blog.csdn.net/cmzsteven/article/details/63680933
- 【转】forbids in-class initialization of non-const static member不能在类内初始化非const static成员
转自:forbids in-class initialization of non-const static member不能在类内初始化非const static成员 今天写程序,出现一个新错误,好 ...
- 原型设计软件介绍——Axure RPx
我个人使用的是Axure RP8版本 进去后的主页面(汉化版),可以看到上方功能栏,缩放大小功能,左下角则是软件内置的一些元件 我在左边的元件库中拖入了一个矩形框,定义为640*960个像素,并把矩形 ...
- java基础知识—类的方法
1.定义类方法的语法: 访问修饰符 返回值类型 方法名(){ 方法体: } 2.方法名的规范: 1.必须以字母下划线·“—”或“$”开头 2.可以有数字,但不能以数字开头. 3.如果方法名是以多个单词 ...
- spring-data-mongodb与mongo shell的对应关系
除了特殊注释外,本文的测试结果均基于 spring-data-mongodb:1.10.6.RELEASE(spring-boot-starter:1.5.6.RELEASE),MongoDB 3.0 ...
- border-radius,box-shadow兼容性解决办法
css3 border-radius不支持IE8/IE7的四种解决方法 标签: cssborder-radius兼容性 时间:2016-07-18 css3 border-radius用于设置HT ...
- callback函数
const getUserInfo = function (callback) { try { let params = { "url": "https://h5.m.t ...
- IPC 简说
IPC(inter-process communication)进程间通信 多进程分为两种情况 1. 同一个应用,使用android:process属性启动的四大组件 2. 多应用 通过android ...