python自动化笔记(七)局部变量和递归

my_num = 200 #全局变量

def my_func():
    my_num = 10 #局部变量 函数内部有同名的局部变量,优先采用局部变量 
    print(my_num)

def my_func1():
    global num #局部变量转换为全局变量 也可修改全局变量
    num = 20 

a = 10
pi = 3.14
flag = True
my_str = "hello"

a, pi, flag, my_str = 10, 3.14, True, "hello"  #批量定义变量

拆包

my_list = ["xiaoming","xiaohong"]
my_name1,my_name2 = mylist #拆包

def my_func(name,age):
    return "姓名:"+ name, "年龄:"str(age)

my_name,my_age = my_func("杰森",18) #对返回值拆包

交换

第三种最为简便

      小整数缓存池:在实际编程中,数值比较小的整数,比如1,2,29等,可能会非常频繁的出现。而在python中,所有的对象都存在与系统堆上。想想?如果某个小整数出现的次数非常多,那么python将会出现大量的malloc/free操作,这样大大降低了运行效率,而且会造成大量的内存碎片,严重影响Python的整体性能。

在python2.5乃至3.3中,将小整数位于[-5,257)之间的数,缓存在小整型对象池中。

a = 10
b = a
print(id(a)) 
print(id(b)) #打印内存编号,内存编号a与b一致
#可变的数据类型 内存编号不会改变



递归函数

如果一个函数在内部不调用其他的函数,而是自己本身的话,这个就是递归函数。

#5*4*3*2*1
def my_func(num):
    ret = 1
    while num > 0:
        ret *= num
        num -= 1
    print(ret)
my_func(5)

#递归函数
def my_fuc(num):
    if num > 1:
        return num * my_func(num - 1)
    else:
        return 1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值