python的学习之路day3

python学习网 2017-11-25 19:23:03

 

对于字典、元祖、列表 而言,进行赋值、浅拷贝和深拷贝时,其内存地址的变化是不同的。为了方便自己,所以复制了老师

 

1、赋值

 

赋值,只是创建一个变量,该变量指向原来内存地址,如:

 

1
2
3
n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]}
  
n2 = n1

 

  

 

2、浅拷贝

 

浅拷贝,在内存中只额外创建第一层数据

 

1
2
3
4
5
import copy
  
n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]}
  
n3 = copy.copy(n1)

 

 

3、深拷贝

 

深拷贝,在内存中将所有的数据重新创建一份(排除最后一层,即:python内部对字符串和数字的优化)

 

1
2
3
4
5
import copy
  
n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]}
  
n4 = copy.deepcopy(n1)

 

 

 

 

函数

  函数分为自定义函数,和python的内置函数

 

定义:

  函数是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需要调用其函数名即可

  语法定义:

def hello():#hello是函数名,def关键字用于创建函数
    print("hello world...")

hello()#调用函数

 

函数的执行过程:

  1、def关键字,创建函数

  2、函数名

  3、()

  4、函数体(函数体默认是不执行的,当我调用时执行)

  5、返回值

 

函数的特性:

  1、减少重复代码

  2、是程序变的可扩展

  3、是程序变得已维护

 

 return返回值的使用:

def ret():
    print("hello world")
    return "success"#在函数中,一旦执行了return后,函数执行过程立即终止,返回值将会赋给我们定义的函数
    print(123)#123是不会执行的
r = ret()
print(r)

hello world
success

return默认的返回值:

def ret():
    print(123)
r = ret()
print(r)

123
None#python默认的返回值为none

 

 

函数的基本参数:

  1、基本参数 == 形参、实参

  2、默认参数(必须放置参数的最后面)

  3、指定参数 == 相当于a="b"、b="a"

 

形参、实参定义方法:

def parameter(p1, p2):  # 在定义时被称为形参,相当于他是一个变量
    print("name:", p1, "age:", p2)
    return "..."
parameter("smelond", 16)  # 在调用时我输入的参数被称为实参,大概就是他是一个实际的值,反正我是这样理解的

name: smelond age: 16

 

默认参数:

def parameter(p1, p2="16"):  # 默认参数必须放置在形参列表的最后面
    print("name:", p1, "age:", p2)
    return "..."
parameter("smelond")  #在调用过程中,如果我不传参进去他就会输出默认的值

name: smelond age: 16

 

指定参数:

def parameter(p1, p2):  # 形参的常规写法
    print("name:", p1, "age:", p2)
    return "..."
parameter(p2 = "smelond", p1 = 16)  #在调用过程时,我们只需要指定形参名即可

name: 16 age: smelond

 

阅读(792) 评论(0)