第22日python学习函数前引和递归

函数前引用:函数即变量,需要在引用前定义好。

def test ():    print("from test")    test1()

def test1():    print("from test1")test()

def test ():    print("from test")    test1()test()def test1():    print("from test1")

递归:例如:问路的事情(问了很多人),最后一个人知道了在回传回来

原文地址:https://www.cnblogs.com/jianchixuexu/p/11521310.html

时间: 2024-10-10 10:32:37

第22日python学习函数前引和递归的相关文章

Python学习—函数

函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率. 1.定义函数 Python 定义函数使用 def 关键字,一般格式如下: def 函数名(参数列表): 函数体 简单的说明: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明. 函数内容以冒号起始,并且缩进. return [表

python学习——函数的参数

定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解. Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码. 位置参数 我们先写一个计算x2的函数: def power(x): return x * x 对于powe

day10 python学习 函数的嵌套命名空间作用域等

1.三元运算 #1.三元运算 利用已下方法就可以实现一步运算返回a b中大的值 def my_max(a,b): c=0 a=int(input('请输入')) b=int(input('请输入')) # if a>b: # c=a # else: # c=b #或者这样 c = a if a > b else b return c ret=my_max(1,3) print(ret) 2.补充上节差的知识点 形参: #位置参数 #默认参数(关键字参数) #动态参数 *args:接收说有按照位

6月11日 python学习总结 框架理论

Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 import socket sk = socket.socket() sk.bind(("127.0.0.1", 80)) sk.listen() while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"

python学习 -函数---递归--模块(os)--时间操作

#函数补充# 位置参数 def hello (name,sex)# 默认值参数 def hello (countyu = 'china')# def send_report(*args) 可变参数.参数组 不是必填,不限制个数,传入后保存为元组 #*args, # 1.不是必填参数 # 2.不限制参数的个数 # 3.传入多个参数的时候他把参数放到一个元组里面# def send_report(*args):# print('发邮件')# print(args)# send_report()# s

python学习 函数

# -*- config=utf-8 -*- #################################### 函数 ################################## def func_02(a,b):# a b :形式参数 if a>b: print("a 大于 b") else: print("b大于等于a"); func_02(2,4);# 2 4 :实际参数 #################################

4月4日 python学习总结

---恢复内容开始--- 1.序列化和反序列化 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling. 反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling. 为什么要保持序列化?   1.持久化状态 2.跨平台数据交互 各种语言之间,实现数据相互转换 2.json.eval.pickle eval()虽然也能进行数据提取,但是,eval()只能识别python 定义的数据类型,用来做序列化不具有跨平台型 Json的使用

4月12日 python学习总结 继承和派生

一.继承 什么是继承:   继承是一种新建类的方式,在python中支持一个子类继承多个父类   新建类称为子类或派生类   父类可以称之为基类或者超类   子类会遗传父类的属性 2.  为什么继承 减少代码冗余 3. 定义方式: class Parent: pass class SubClass(Parent): pass print(SubClass.__bases__) #查看类的父类 4.  继承,调用父类方法以及self class Foo: def f1(self): print('

4月27日 python学习总结 GIL、进程池、线程池、同步、异步、阻塞、非阻塞

一.GIL:全局解释器锁 1 .GIL:全局解释器锁 GIL本质就是一把互斥锁,是夹在解释器身上的, 同一个进程内的所有线程都需要先抢到GIL锁,才能执行解释器代码 2.GIL的优缺点: 优点:  保证Cpython解释器内存管理的线程安全 缺点:同一进程内所有的线程同一时刻只能有一个执行,也就说Cpython解释器的多线程无法实现并行 二.GIL与多线程 有了GIL的存在,同一时刻同一进程中只有一个线程被执行 听到这里,有的同学立马质问:进程可以利用多核,但是开销大,而python的多线程开销