Python__函数

摘要:
函数的定义类似于变量的定义。如果未定义变量并直接引用变量,则会在未预先定义函数的情况下报告错误。调用函数相当于引用不存在的变量deffoo():printbar()defbar():print foo((),而不报告错误。您需要澄清函数的使用可以分为定义阶段和调用阶段。4: 函数的定义阶段发生了什么?调用函数只执行一系列操作。最后,如果没有结果,就不需要返回值。通常,无参数函数不需要返回值。

一:为何用函数与不用函数的问题?

  组织结构不清晰

  代码荣誉

  无法统一管理且维护难度大

二:函数分类

  内置函数

  自定义函数

三:为何要定义函数

  函数即变量,变量必须先定义后使用

工具是具备某一种功能的物件,就是程序中函数的概念,实现准备工具的过程称为函数的定义,遇到特定的场景拿来就用称为函数的调用。

(1)函数的定义与变量的定义类似,没有实现定义变量,而直接引用变量,会报错

(2)没有事先定义函数,而调用函数,相当于引用一个不存在的变量

def foo():
print('from foo')
bar()
def bar():
print('from bar')
foo()
不会报错,需要明确函数的使用分为定义阶段和调用阶段

四:函数的定义阶段发生了什么事情?
只检测语法,不执行代码

函数的定义语法
def 函数名(arg1,arg2,arg3,...):
''注释''
函数体
return 返回值
def select(sql):
pass
def update(sql):
pass
def delete(sql):
pass
def insert(sql):
pass
五:函数的返回值和函数调用的三种形式
def func():
  print('from func')
  return 0
func()
函数中可以没有return,此时的返回值为None,应该等同于Return None,return,或者没有Return
大前提:return的返回值没有类型限制
    Rreturn可以返回多个值,最后返回的为元组包含的值
六:什么时候该有返回值?
  调用函数:结果一系列的操作,最后要拿到一个明确的结果,则必须有返回值,通常有参函数需要有返回值,输入参数,结果计算,得到一个最终的结果。
七:什么时候不需要有?
  调用函数,仅仅只是执行一系列的操作,最后不需要有什么结果,则无需返回值,通常无参函数不需要有返回值。
八:函数调用的三种形式?
  函数调用的语句形式
  函数调用的表达式形式
  函数调用可以当做另外一种函数的参数
九:函数参数
  形参:在定义函数时,括号内的参数称为形参
  实参:在调用函数时,括号内的参数称为实参
  特点:形参就是变量名,实参就是变量值
  在调用阶段,实参才会绑定形参,调用结束后,解除绑定。
十:参数的分类
(1)位置参数:按照从左到右的位置依次定义的参数
    位置形参:必须参数,多一个不行,少一个不行
    位置实参:与形参按照位置一一对应
    关键字参数:指的是按照name=value的形式,给name传值
    注意:位置实参必须在关键字实参前面,一定不要对同一个形参多次传值
(2)默认参数
    在定义阶段,就已经为形参传值,意味着在调用阶段可以不用传值
    注意:默认参数仅在定义阶段赋值一次,而且仅一次,默认参数的值应该为不可变类型
十一:可变长参数和命名关键字参数
    可变长参数指的是实参的个数可变,不固定
    实参包括位置实参和关键字实参
    实参必须要有两种机制来分别处理按照位置定义的实参溢出的情况:*,和按照关键字定义的实参溢出的情况:**
十二:函数对象
  函数本身是第一类对象,指的是函数可以被当做数据传递
  数据可以当做参数传入,可以当做函数的返回,可以当做容器类型的元素
  





 

免责声明:文章转载自《Python__函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php : 类常量shell命令--ssh下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

es6 let

1.变量 var  function let const class import    定义变量的关键字 备注     不能忽略函数的形参      函数的私有变量 var     定义变量 var 定义变量能够提升但是不能定义  给window添加一个对应的属性 function    即可以提前声明     同时还定义了 定义:所谓的定义  就是给这...

Postman参数化(3)

方式一:全局变量 全局变量:是将这个变量设置成整个程序都可以用,不用去区分环境设置,和Jmeter中‘测试计划’下的‘用户定义的变量’用法类似。 1、打开Postman,点击 Enviroments --> 点击+  --> 定义环境变量名称 --> 填写变量名和变量值 --> Save  2、引用全局变量,引用的方法为:{{变量...

Android面试经验汇总(一)

1. Runnable     java中有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口。     (a)用Thread类实现       publicclassThreadDemoextendsThread{            publicvoidrun() {                // do somethi...

Python36和Python27共存的方法

Python27和Python37环境的配置 设置环境变量 我的电脑右键属性-高级系统属性-环境变量 选择系统变量中的Path,双击打开 加入你的Python安装路径 C:Python27;C:Python27;Scripts;C:Python36;C:Python36Scripts; 把C:Python27目录下的Python.exe修改成Pytho...

python使用imap-tools模块下载邮件中的附件

最近在做一些email相关的办公自动化项目,发现一个第三方模块imap-tools不错, 网上没有啥相关介绍,所以记录下来. 环境: python3.8; imap-tools 0.39.0 需要pip 安装一下imap-tools模块 imap-tools模块是python的第三方扩展, 它使用标准库imaplib,并将常见的邮件处理事件封装,邮件处理起...

Recurrent Neural Network系列2--利用Python,Theano实现RNN

作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明。谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS TUTORIAL, PART 2 – IMPLEMENTING A RNN WITH PYTHON, NUMPY AND THEANO 。 github地址 在...