2018-10-10

一、拷贝

2018-10-10_第1张图片


python中 变量在存储时, 都为地址(C中指针)拷贝:将变量的值赋值一份,产生新的数据,返回地址a,赋值 为 固定值时, b地址会变    a=10; b=a; b=20b,赋值后 改变 地址中指向对应 值的改变时,b地址不会变 a的值也会变    a=[1,2]; b=a; b[0]=1import copy浅拷贝:copy.copy(对象); copy(对象); 切片直接拷贝地址深拷贝:copy,deepcopy(对象)将地址中对应的值再次拷贝,产

生新的地址值不变        **只有赋值中 变量有地址时才用


[if !supportLists]二、[endif]字典和列表的应用

[if !supportLists]1、[endif]列表中字典

Persons = [

{‘name: ‘zhangsan’, ‘age’: 18, ‘sex’:’男’}]

Print(person[0][‘name’])

[if !supportLists]2、[endif]字典中列表

  My_class={‘class_name’:’python1807’,

‘location’: ‘18-6’;

‘all_student’:[

{‘name: ‘d’, ‘age’: 18, ‘sex’:’男’}

{‘name: ‘zh’, ‘age’: 18, ‘sex’:’男’}

] }

Print(my_class[‘all_class’][0][‘school’])

my_class['all_students'].append({...})

for i in my_class['all_students'][:]:注意删时用[:]    if i['age'] < 20:                避免少删      my_class['all_students'].remove(i)


[if !supportLists]三、[endif]函数

函数-->对实现莫以特定功能的代码段封装

sum(); max(); range()

A、内置函数

B、自定义函数

1、声明函数方法:

def函数名(参数列表):

函数体

注意:a、def --> python中声明函数的关键字

b、函数名-->标识符,not关键字,见名知义

遵循PEP8(所有字母小写,多单词用_ 隔开)

c、参数列表 -->参数1,参数2,... or 无参

参数是从函数外面传值给函数

d、(): --> 固定格式

f、函数体 -->实现函数功能的代码段

2、函数调用

a、函数名(实参列表)

b、调用过程:

第一步:回到函数声明的地方

第二步:用实参赋值形参(保证参数都有值)

第三步:执行函数体

第四步:返回返回值-->返给函数调用表达式

第五步:回到函数调用位置,continue执行代码

[if !supportLists]四、[endif]函数的参数

1、def fun(a, b, c):

位置参数:按实参顺序对应赋值形参

fun(10, 20, 30)

关键字参数:形参1=值1,形参2=值2,...

fun(a=10, c=30, b=20)

2、默认参数

声明时可以设置参数默认值,但必须放在最后

def fun(a, c, b=20):

3、不定长参数

参数不确定的时,形参前加*,变成元祖

     有确定的参数时,*sum必须放最后

def fun(name, *sum):

[if !supportLists]五、[endif]函数的返回值

是函数表达式的值,就是return后面表达式的值

Python中所有函数均有返回值,默认为None

注:执行函数时没return,返回值为None,

有return后面的值

return -->用来返回返回值和结束函数(遇到就结束)

你可能感兴趣的:(2018-10-10)