Python__函数

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

  组织结构不清晰

  代码荣誉

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

二:函数分类

  内置函数

  自定义函数

三:为何要定义函数

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

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

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

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

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

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

Python__函数的相关文章

Python__函数习题

1.简述普通参数.指定参数.默认参数.动态参数的区别 1 # ######### 定义函数 ######### 2 3 # name 叫做函数func的形式参数,简称:形参 4 def func(name): 5 print name 6 7 # ######### 执行函数 ######### 8 # 'wupeiqi' 叫做函数func的实际参数,简称:实参 9 func('wupeiqi') 10 11 def func(name, age = 18): 12 13 print "%s:%

Python__协成函数part1

yield的功能: 1:把函数的执行结果封装好__iter__和__next__,即得到一个迭代器 2:与return功能类似,都可以返回值,但不同的是,return只能返回一次值,而yield可以返回多次值 3:函数暂停与再继续的状态是由yield保存的 1 def init(func): 2 def wrapper(*args,**kwargs): 3 g = func(*args,**kwargs) 4 next(g) 5 return g 6 return wrapper 7 8 9 @

Python__内置函数

#定义一个函数与变量的定义非常相似,对于有名函数,必须通过变量名访问def func(x,y,z = 1): return x + y + z#匿名函数:1.没有名字,2.函数体自带return#匿名函数的应用场景,临时使用lambda x,y,z = 1:x + y + zprint(lambda x,y,z = 1:x + y + z)f = lambda x,y,z = 1:x + y + zprint(f)f(1,2,3) #内置函数#1.abs()print(all([1,2,'a',

Python__内置函数补充

#Author wangmengzhu salaries = { 'egon':3000, 'alex':100000, 'wupeiqi':1000, 'yuanhao':2000}# print(list(zip(salaries.values(),salaries.keys()))) # print(max(list(zip(salaries.values(),salaries.keys())))) # print(max(salaries,key = lambda name:salari

Python__闭包函数

函数的使用需要明确定义阶段和调用阶段 闭包函数:定义在函数内部的函数,包含对外部作用域名字的使用,而不是对全局作用域名字的引用 import requests def deco(url): def wrapper(): return (requests.get(url).text) return wrapper get = deco('https://www.baidu.com') print(get())

js高阶函数

map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81] reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个

Django url 标签和reverse()函数的使用(转)

原文:http://www.yihaomen.com/article/python/355.htm 使用url标签和reverse()函数,可以避免在模板和view中对url进行硬编码,这样即使url改变了,对模板和view也没有影响 起初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了,这样带来一个问题,如果在urls.py 中修改了某个页面的地址,

Python2.7-内置函数

具体参见:https://docs.python.org/2/library/functions.html#file 1.进制转换:bin(x), oct(x), hex(x) 把一个十进制数分别转换为2.8.16进制 2.字符转换:chr(x)将数字(255以内不报错,128以后无字符)转换为对应ASCII字符, unichr(x)将数字转换为unicode, ord(x) 将字符转数字与前两个相反, unicode(obj, [encoding, [error]]) 用encoding解码o

linux Shell函数

Shell函数类似于Shell脚本,里面存放了一系列的指令,不过Shell的函数存在于内存,而不是硬盘文件,所以速度很快,另外,Shell还能对函数进行预处理,所以函数的启动比脚本更快. 1.函数定义 1 2 3 4 function 函数名() {     语句     [return] } 关键字function表示定义一个函数,可以省略,其后是函数名,有时函数名后可以跟一个括号,符号"{"表示函数执行命令的入口,该符号也可以在函数名那一行,"}"表示函数体的结