随笔分类 - Python函数内容
摘要:无论哪种方法都可以从下图看出一个错误 就是不允许无限递归 当一个函数无限的调用时python解释器为了防止你的内存被无限占用所以就会弹出这个错误 必须要有结束条件 递推回溯
阅读全文
摘要:print(abs(-11)) #todo 取绝对值 print(bin(3)) #todo 十进制转为二进制 print(oct(6)) #todo 十进制转为八进制 print(hex(19)) #todo 十进制转为十六进制 print(bool(0)) #todo 求布尔值 print(bytes('Steven',encoding...
阅读全文
摘要:1、yield的作用
阅读全文
摘要:1、三元表达式 2、列表推导式 3、生成器表达式 这三个表达式 可以看出的作用就是使代码更工整 简洁 方便
阅读全文
摘要:一、什么是生成器? 答:当函数体内有yield的关键字时就叫做生成器 可以看出 1、生成器就是迭代器 2、yield与return一样 都是返回值 (区别?向下继续看) 既然生成器就是迭代器 那就可以用for循环来实现一下这个 二、yield的功能 1、把函数的最后执行结果做成迭代器 2、yield
阅读全文
摘要:1、for循环工作原理: for循环: 原理:for循环其实就是再调后面那个d的d.__iter__() 2、while循环 这段代码会报异常如下图: 这时 你就会用到 try和except(捕捉): 步骤 :(1) 、 首先建立一个while循环 (2)、 再循环里建一个try语法 (3)、 将循
阅读全文
摘要:什么是迭代器? 答:重复,下一次的输出是基于上一次的结果 列子: i=[1,2,3,4] count=0 while count<len(i): print(i[count]) count+=1 索引 i={'a':1,'b':2,'c':3} for k in i: print(k) 通常以前都会
阅读全文
摘要:a=1 def foo(): a=2 def foo2(): print(a) return foo2 y=foo() y() 包三层 def egon_name(): name='Steven' def monthly_pay(): money = 100000 def hehe(): print
阅读全文
摘要:1、global:在局部修改全局变量 x=100 def foo(): global x x=200 foo() print(x) #todo 如果不写global,则打印为100 2、nonlocal:只在函数内部找变量,如果没有则报错 x=100 def a(): x=200 def b():
阅读全文
摘要:1、可引用 def foo(): return ('hello world!') a=foo print(a()) 2、可当返回值 def outer(): def inner(): print(111) return inner y=outer() y() #todo 如果将111改为inner
阅读全文
摘要:a=1 def foo(): print(a) def foo2(): print(a) foo2() def foo3(): print(a) foo() foo3() def x1(): #todo 从内往外看 a=10 def x2(): a=20 def x3(): a=30 print(a
阅读全文
摘要:a=10 def foo(): print(a) foo() # def foo2(a,b): # c=1 # print(a,b,c) # foo2(10,9) a=10 def foo1(): a=20 print(a) foo1() # 因为局部有一个值 所以打印为20 b=10 def fo
阅读全文
摘要:在一个函数里再加一层或多层函数 def f1(): #todo 注意代码的缩进 def f2(): def f3(): print('c') f3() print('b') f2() print('a') f1()
阅读全文
摘要:def foo(*args,**kwargs): print(args) print(kwargs) foo(1,21,111,22,11,x=1,y=2,z=3) # todo 可以接收任意形式,任意长度的参数 # todo 一定是**在后面 因为关键字必须在后
阅读全文
摘要:def func(x,y,*args): print(x,y) print(args) func(1,2,3,4,5) # *处理按位置定义的多出的实参 # 然后赋值给*后的变量来保存成一个元组的形式 # args=(3,4,5) 1、等效 def func(x,y,*args): print(x,
阅读全文
摘要:def my_max(a,b=5,c=20): # a为位置参数,b为默认参数 if a>b: return a else: return b i=my_max(10) print(i) #加一个c,如果c不赋值那就只能放在b默认参数前 #如果赋值,就可以放在b后 因为c成了默认参数 def my_
阅读全文
摘要:x=18 #定义阶段赋值,10赋给age def my_max(name,age=x): print(name) print(age) x=21 #只在定义阶段赋值 所以这个21属于定义阶段后,不会赋给age my_max('Steven')
阅读全文
摘要:位置参数:按照从左到右的顺序依次排列 def my_max(a,b,c): print(a) print(b) print(c) my_max(1,2,3) #按位置定义的形参,必须被传值,值不能多也不能少 #按位置定义的实参,与形参一一对应 关键字参数:在定义实参时,遵循key=value定义 d
阅读全文
摘要:def register(name,age,sex='male'): #如以下三人的性别2个为男,可以定义一个默认参数 print(name,age,sex) register('syw',18) register('steven',8000) register('xiaohong',1000,'f
阅读全文
摘要:def my_max(a,b): # a,b为形参 ''' 比较两个数之间大小 ''' if a>b: return a else: return b i=my_max(10,30) #10,30为实参 print(i)
阅读全文

浙公网安备 33010602011771号