学习教程:廖雪峰-Python教程-函数-函数定义 学习记录:[定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程的两个解] 学习心得: 1.对问题进行判断分析后再下手. 一元二次方程需分析根的情况,当△大于零时,有两个根:当△等于零时,有一个根:当△小于零时,无解. 需三种情况进行判断,再进行计算,再打印输出结果. 2.在原题基础之上我增加的问题 ①用户输入a,b,c三个值,更加人性化 ②对返回的根进行判断,判断根为整数(int)还是浮点数(float).若为整数…
函数:这个词属于一个数学概念,在编程语言借鉴了这个概念,表现形式是一段程序代码的组合,也叫“程序集”.有过编程基础的人很容易理解这个概念,当我们编写程序越来越多的时候,程序设计大师们会把散乱的程序进行高度的抽象化的概念.可能有:程序-函数-模块-包-库,这样一个路径. 怎么认识函数? 函数是在一个完整的项目中,某些功能会返回使用,那么我们会讲功能进行“封装”,当我们要使用功能的时候直接调用函数即可. 本质:函数就是对功能的封装 优点: 1. 简化了代码结构,增加了代码的复用度(重复使用的程度)…
有参装饰器 def timmerout(flag1): #flag1 =flag def timmer(f): def inner(*args,**kwargs): if flag1: start_time = time.time() ret = f(*args,**kwargs) end_time = time.time() print('此函数的执行效率%s' % (end_time - start_time)) return ret else: ret = f(*args, **kwarg…
Python函数07/有参装饰器/多个装饰器装饰一个函数 目录 Python函数07/有参装饰器/多个装饰器装饰一个函数 内容大纲 1.有参装饰器 2.多个装饰器装饰一个函数 3.今日总结 3.今日练习 内容大纲 1.有参装饰器 2.多个装饰器装饰一个函数 1.有参装饰器 # def auth(argv): # def wrapper(func): # def inner(*args,**kwargs): # func(*args,**kwargs) # return inner # retur…
1.有参装饰器:给装饰器添加一个参数.来控制装饰器的行为. @auth(参数) auth里层的函数名 = auth(参数) 被装饰的函数名 = auth里层的函数名(被装饰的函数名) 被装饰的函数名() 应用场景:flask框架的路由就是有参装饰器 def arg(argv): def wrapper(func): def inner(*args,**kwargs): if argv: print("开始装饰") ret = func(*args,**kwargs) if argv:…
实现装饰器的知识储备: 示例: def f1(): print("f1") 1.函数即“变量” #上面的示例中,函数f1为变量,它指向内存地址.而f1()表示函数执行. 2.高阶函数 a:把一个函数名当做实参传给另外一个函数(在不修改被装饰函数源代码的情况下为其添加功能). b:返回值中包含函数名(不修改函数的调用方式). 3.嵌套函数 将一个函数放在另外一个函数里面. 装饰器 = 高阶函数 + 嵌套函数 装饰器定义:本质是函数.(装饰其他函数)就是为其他函数添加附加功能.装饰器原则:…
一.作用域 在Python程序中创建.改变.查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域.python的作用域是静态的,在源代码中变量名被赋值的位置决定了该变量能被访问的范围.即Python变量的作用域由变量所在源代码中的位置决定. 在Python中并不是所有的语句块中都会产生作用域.只有当变量在Module(模块).Class(类).def(函数)中定义的时候,才会有作用域的概念.而在if.for.while等语句中不产生作用域. L(local)局部作…
Python装饰器(decorator)在实现的时候,被装饰后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变),为了不影响,Python的functools包中提供了一个叫wraps的decorator来消除这样的副作用.写一个decorator的时候,最好在实现之前加上functools的wrap,它能保留原有函数的名称和docstring.废话不多说,上俩栗子就能搞明白! 实例一: 不加wraps # -*- coding=utf-8 -*- from functools imp…
class Kls(object): def __init__(self, data): self.data = data def printd(self): print(self.data) @staticmethod def smethod(*arg): print('Static:', arg) @classmethod def cmethod(*arg): print('Class:', arg) >>> ik = Kls(23) >>> ik.printd()…
一.装饰器 1.定义:本质是函数,装饰其他函数就是为其他函数添加附件功能. 2.原则: a.不能修改被装饰的函数的源代码: b.不能修改被装饰的函数的调用方式: 实例: #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ye import time #装饰器 def time_cha(func):#func等于test time_start = time.time() func()#此时func()相当于test() time.sleep(…