第一次笔记

引用

数据在内存中存储的数据

a = 100  # a 是指向100的一个引用
print(id(a))
交互模式和直接引用的区别

直接引用

a = 367
b = 367
print(id(a))  #  2429337035888  每次运行结果会变
print(id(b))  #  2429337035888  每次运行结果会变
print(a is b) # True  判断两个变量地址

交互模式
python 的内存管理中,小整形-5 —— 256 缓存起了

>>> a = 367
 >>> b = 367
>>> a is b
 False
 
 `>>> a = 256
`>>> b = 256
`>>> a is b
True
字符串 全部由字母组成 都指向一个内存地址
a = 'abcd'
b = 'abcd'
print(id(a))  # 2438912341424  每次结果都会变
print(id(b)) # 2438912341424  每次结果都会变
print(a is b) # True
字典 列表 容器 就算内容一样 地址也不一样

列表

list1 = ['孙千', '微笑']
list2 = ['孙千', '微笑']
print(list1 is list2)  # False
print(id(list1))  #  2819443610184   每次结果都会变
print(id(list2)) #  2819443610696   每次结果都会变

字典

info = {'name': '孙千', 'age': '18', 'sex': '女'}
info1 = {'name': '孙千', 'age': '18', 'sex': '女'}
print(info is info1)  # False
print(id(info))     # 2305791049384
print(id(info1))  # 2305791049464
可变和不可变类型

列表 字典 是可变类型
元组 字符串 数字是不可变类型

函数参数传递

参数的传递 传的是地址

def test1(a):    
print(id(a))
b = 'hello'
print(id(b))  #  2109190209072
test1(b)      # 2109190209072
递归 :

一个函数在内部不调用其他函数,而是自己本身的话,这个函数就是递归函数。
阶乘 #n的阶乘: n!
5! 5 * 4 * 3 * 2 * 1 5 * 4!
4! 4 * 3 * 2 * 1 4 * 3!
3! 3 * 2 * 1 3 * 2!
2! 2 * 1 2 * 1!
n! n * (n - 1)!
1! 1

def test(n):    
    if n == 1:        
        result = 1    
    else:       
        result = test(n - 1) * n    
    return result
        
        
print(test(5))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值