当前位置: 首页 > news >正文

现在还有没有做任务的网站湖北省住房和城乡建设厅官网

现在还有没有做任务的网站,湖北省住房和城乡建设厅官网,新野微网站建设,济南医院网站建设服务公司目录 1.函数相关术语 2.函数类型分类 3.栈 4.位置参数和关键字参数 5.默认参数 6.局部变量和全局变量 7.返回多个值 8.怀孕函数 9.匿名函数 10.可传递任意个数实参的函数 11.函数地址与函数接口 12.内置函数修改与函数包装 1.函数相关术语 函数的基本概念有函数头…目录 1.函数相关术语 2.函数类型分类 3.栈 4.位置参数和关键字参数 5.默认参数 6.局部变量和全局变量 7.返回多个值 8.怀孕函数 9.匿名函数 10.可传递任意个数实参的函数 11.函数地址与函数接口 12.内置函数修改与函数包装 1.函数相关术语 函数的基本概念有函数头函数名形参和实参函数体如下图所示 参数是可选的也就是说函数可以不包含参数比如 def main():使用 return result 返回语句来返回一个值函数为带返回值的函数。不使用 return 语句函数为不带返回值的函数。不用 return 的函数python 默认函数末尾加上了一个 return None就是说返回了一个 None空值。 2.函数类型分类 带参数有返回值的函数 def myfunc(a, b):result 0for i in range(a, b 1):result ireturn result 不带参数无返回值的函数 def main():print(月满则亏)print(水满则溢)print(花满则衰)print(爱满则痴)main() # 执行 main() 带参数无返回值的函数 def nprint(n):for i in range(n):print(xxxxxx)print(nprint(2)) 3.栈 栈是在函数调用时产生的一个内存区域用来存储函数的参数和局部变量的激活记录。 当调用一个函数时这个函数的参数和局部变量的激活记录被压入栈。 当这个函数执行完毕这些激活记录将会被从栈中删除。 示例代码 def func(Data1, Data2):Data3 Data1 * Data2return Data3ret func(1, 2) 对于语句ret func(1, 2)func在调用时会产生一个栈实参传递给形参以及函数体内部的变量激活记录都会逐步记录在栈中称为压入栈函数调用完毕这些记录会逐步从栈中清除出去出栈。 栈的特点后进先出。就是最后进来的激活记录先被弹出堆栈。 4.位置参数和关键字参数 调用函数时实参的值传递给形参这个过程叫做值传递。值传递有多种方式比如按默认位置或者使用关键字参数。比如下面这个例子中f函数有3个关键字参数x,y,z。 def f(x, y, z):return (x y) / z# 使用位置参数调用函数 print(f(1, 2, 3)) # 1.0# 使用关键字参数调用函数 print(f(z2, y3, x5)) # 4.0# 同时使用位置参数和关键字参数 print(f(7, z3, y2)) # 3.0 注意调用函数时位置参数在左边关键字参数在右边。 5.默认参数 函数定义时 形参如果带有关键字表示当实参不赋值时该变量具有默认值。 而当实参有赋值时使用实参的赋值而不是用默认值。 # 非默认值参数必须在默认值参数之前 def f(x, y1, z2):return x y zprint(f(1, 1, 1)) # 3 print(f(y1, x2, z3)) # 6 print(f(1, z3)) # 5 6.局部变量和全局变量 在函数内部定义的变量被称为局部变量。 在函数之外创建的变量被称为全局变量。 使用 global variable 语句将局部变量变为全局变量。 示例代码 x 1 y 1 z 1def f(x):global yx 2y 2z 2f(100) print(x) # 1 print(y) # 2 print(z) # 1 在以上代码中 一开始定义了x和y它们是全局变量。然后定义了一个函数f形参有x注意这里的x为函数的形参名跟前面那个全局变量x不是同一个函数体内部先使用了global y语句它的作用是函数内部等会如果有y的调用则y调用的是全局变量那个y。x 2语句是一个赋值语句注意这条赋值语句的x不是全局变量那个x是形参变量x因此全局变量那个x的值不会发生改变仍为1y 2语句由于global y的作用这里的y是全局变量的那个y因此全局变量y的值会变成2z 2语句由于没有global z语句这里的z是函数内部产生的局部变量因此这里的赋值语句不会对全局变量那个z造成影响。 7.返回多个值 python 函数允许返回多个值。 函数多个数本质上是以元组的形式在传递值。 def sort(n1, n2):if n1 n2:return n1, n2return n2, n1print(sort(2, 3)) # (2, 3) a, b sort(3, 2)print(a) # 2 print(b) # 3def func(num1, num2):return num1 num2, num1 - num2x func(2, 3) print(type(x)) # class tuple 8.怀孕函数 怀孕函数就是函数内部又定义了一个函数。 python 函数很特殊可以无限嵌套。 def Test():def TestX():print(hello world)for i in range(3):TestX()Test() 9.匿名函数 匿名函数就是函数的简洁表达使用关键字 lambda 实现。 # 例子1 myfunc lambda a, b: a b print(myfunc(2, 3)) # 5# 例子2用来装逼 ret (lambda a, b: a * b)(4, 5) print(ret) # 20 (lambda data: print(data))(hello world) # hello world 10.可传递任意个数实参的函数 在Python中可以创建一个函数它可以接收任意数量的实参。这通过使用星号表达式()实现。星号运算符有两种形式单星号(*)和双星号(**)。 ①单星号(*)将实参列表转换为元组。 def mysum(*data):print(type(data)) # class tupleret 0for x in data:ret xreturn retprint(mysum(1, 2)) # 3 print(mysum(1, 2, 5, 7)) # 15 ②双星号(**)将字典转换为关键字参数。 def mysum(**data):print(type(data)) # class dictret 0for key in data:ret data[key]print(key, data[key])return retprint(mysum(a2, b2, c5, d7)) # 这里用等号等号左边为关键字右边为值print(mysum(x2, y3)) # 这里用等号等号左边为关键字右边为值 ③同时使用单星号(*)和双星号(**)函数可以接收任意数量的实参并且可以是以上两种类型。 def print_args_kwargs(*args, **kwargs):print(args)print(kwargs)print_args_kwargs(1, 2, 3, a1, b2, c3) # 输出: (1, 2, 3) {a: 1, b: 2, c: 3} 11.函数地址与函数接口 函数的本质是一个地址可函数名赋值来实现相同功能 def myadd(num1, num2):return num1 num2print(id(myadd)) # 2363817237224 print(type(myadd)) # class functiongo myadd # 注意软件规范不允许这样赋值不然容易出问题 print(id(go), id(myadd)) # id 会相同 print(type(go), type(myadd)) # 类型都是函数ret go(1, 2) print(ret) # 3 函数名赋值实现函数的调用和定义的分离实现函数接口搭建框架。 # 函数的定义 def add(x, y):return x y - 1# 函数的定义 def minus(x, y):return x - y 10# 函数调用框架 def work(func_name, num1, num2):value func_name(num1, num2)print(value)for i in range(value):print(hello world)return value 1# 函数调用 work(add, 1, 2)# 函数调用 work(minus, 3, 4) 运行结果 2 hello world hello world 9 hello world hello world hello world hello world hello world hello world hello world hello world hello world 12.内置函数修改与函数包装 修改内置函数 import osdef myprint(mystr):os.system(echo ---------------)if mystr.find(python is handsome.) ! -1:os.system(echo mystr)else:os.system(echo python is handsome!)os.system(echo mystr)print myprint # 切换函数的地址 print(hello world) print(Full love leads to madness) 运行结果 --------------- python is handsome! hello world --------------- python is handsome! Full love leads to madness 函数包装 加密 or 保护费 还可以给函数的使用加密 每次调用都要输入密码才行 示例代码 import os# 备份原来的函数地址 backossystem os.system# 等价的调用 # backossystem(notepad)# 需要收费的系统 def system_check(mystr):if mystr.find(A) ! -1:backossystem(mystr)else:print(请开通会员否则 mystr 无法执行)# 修改内置函数地址 os.system system_check os.system(echo hello world) 运行结果 请开通会员否则 echo hello world 无法执行 end
http://www.hkea.cn/news/14571959/

相关文章:

  • 北京智能网站建设哪里好网站推广的步骤
  • 免费开网站能免费建手机网站吗
  • 做网站 如何注册公司专业搭建网站公司
  • 北京专业网站改版公司做货运代理网站
  • 做一个国外的网站发布摄影作品的平台
  • 网站支付宝支付接口申请山东省住房和城乡建设部网站
  • 网站开发费用会计分录wordpress创建配置文件
  • 正规免费网站建设公司wordpress寺院模板
  • 代理记账网站模板外包服务美剧
  • 北京赛车网站开发网站建设柚子网络科技官网
  • 西安网站建设王永杰关于学校网站建设经费的申请报告
  • 旅游酒店网站建设背景分析青岛seo关键词优化公司
  • 网站设计的提案北京商标注册
  • 网站过期后多长时间不续费就完了微信公众号网站怎么做
  • 自助建网站哪个好整改网站建设情况
  • 淘宝网站建设情况医院科室网站建设
  • 阿里巴巴网站推广方法wordpress标题去掉私密
  • 海口网站建设网页制作公司前端网页设计样例
  • o2o网站制作公司wordpress paypal收款
  • 安防网站模板织梦建站教程全集
  • 网站的推广和优化方案鄞州seo整站优化服务
  • vs2017 网站开发新冠疫苗接种率
  • 网站logo的颜色与网页的颜色中山 灯饰 骏域网站建设专家
  • 网站定制微安电力案例wordpress djiango
  • 如何在谷歌做网站外链杭州市拱墅区住房与建设局网站
  • 中国建设银行阜阳分行网站电子商务网站建设实训心得体会
  • 网站广告条效果wordpress怎么改模版
  • 网站开发技术期末考试试题营销策略有哪些4种
  • 做个网站需要多少钱?有没有旧装修要拆wordpress模板源码
  • 马鞍山的网站建设公司开封建网站的公司