Python学习1-2 三元运算、lambda函数、深浅copy及函数

Posted on 2016-11-16 19:38  wy2333  阅读(77)  评论(0)    收藏  举报

一,三元运算

形式: name f1 if 条件 else f2------ 如果条件满足,name=f1, 否则name=f2

1 if True:
2     name  = a
3 else:
4     name  = b
5 
6 #三元运算
7 name a if True else b
三元运算

二, lambda函数

形式  f= lambda 参数(x,y.....):语句----简单的函数

1 def f(x,y):
2     return x+y
3 
4 f = lambda x,y:x+y
5     
lambda

三, 深浅copy

1.数值及字符串

对于数值与字符串,无论是赋值,浅copy(copy.copy),深copy(copy.deepcopy)都无区别,指向同一个内存地址

赋值:n2 = n1

浅copy:n3 = copy.copy(n1)

深copy:n4 = copy.copy(n1)

 

 

 

 

 

 

 

2.其他(列表,元组,字典,set)

2-1. 赋值

     变量都指向同一个内存地址

2-2 浅copy----只copy第一层

2-3 深copy----copy直至最后一层(数字、字符串)

四,函数

4-1 函数定义

    def f():     def---定义函数   f--函数名   ()--内部传入参数  :缩进后为代码块

    return--函数返回值:1.无return,函数返回None   2.函数执行至return时,函数执行终止,return后的语句不执行

                                3. 返回值可以为任意类型

    函数在调用时才执行,创建时不执行,只在内存中开辟空间进行存放

1 def f():
2     print "hello, world"
3     return "ok"
函数

4-2 函数参数

函数中传入的参数可以为任意类型,传入的参数为变量的引用

1.形式参数与实际参数

   def f(X):    x-----形式参数

   f(3)           3-----实际参数,在调用时传入

2.普通参数,指定参数,默认参数

   普通参数:函数可以传入多个参数,并且实参与形参必行数量一致,且顺序一一对应; def f(x,y,z)      f(2,3,4)  x--2, y--3,  z---4

   指定参数:传入是指定形参值,顺序可以变换;      def f(x,y,z)      f(y=2,z=3,x=4)  

   默认参数:函数在定义时就确定形参的值,默认参数必须放在后;  def f(x,y,z=5)      f(2,3)  x--2, y--3,  z--5

                                                                                                                f(2,3,z=6)  x--2, y--3,  z--6

3. 动态参数(*args,  **kwargs

  *args----元祖      **kwargs ---字典

   实参*li,  **dict

 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3