总结和复习
2018-03-08 本文已影响0人
Jason_c8d4
总结和复习
函数
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)