总结和复习

总结和复习

函数

f(*list)可以把列表拆散当成可变参数一个一个放进去

def f(*args)
    total = 0
    for val in args:
        total += val
return total
mylist = [1,3,5,10,20]
print(f(*mylist))#把列表拆散当成可变参数一个一个放进去

函数返回多值用元组

作用域 —— LEGB(局部,嵌套,全局,内置)

a = 100
def f():
   global a
    a = 200
    b = 'hello'
    def g():
        nonlocal b
        b = 'good

模块

对函数的分类管理,函数的设计应该遵守单一执着原则

form import as(起别名)

字符串

内置函数和对象里的方法的区别

str1 = 'asdfghjkl'
len(str1)
str1.upper()

内存管理

栈 - 变量 - 地址 - 对象的引用
堆 - 真正的对象
id()
is

手机应用突然闪退,多半是内存泄漏惹的祸,一般是程序写得不好,把程序员拉出来打一顿就好了哈哈哈。

python用的自动内存管理 - 垃圾回收

sys.getrefcount(list1)得到对象引用技术的值

import sys
list1 = [0]*10
list2 = list1
list3 = list2
print(sys.getsizeof(list1))
print(sys.getrefcount(list1))
del list2
del list3
del list1[0]
print(sys.getrefcount(list1))

列表

列表生成器和表达式可以嵌套
可以使用加法进行添加

mylist = [x + y for x in 'ABCDE' for y in '1234567']
mylist = mylist+[20,30]
print(mylist)

你可能感兴趣的:(总结和复习)