一、三元运算
if 1 == 1: name = "alex" else: name = "eric" #name = 值1 if 条件:else 值2 #如果值1成立就吧值1赋值给name #反之值2赋值给name
二丶深浅拷贝
a、对于 数字 和 字符串 而言,赋值、浅拷贝和深拷因为其永远指向同一个内存地址
b、对于列表、字典、元素....
浅拷贝,在内存中只额外创建第一层数据
深拷贝,在内存中将所有的数据重新创建一份
(排除最后一层,即:python内部对字符串和数字的优化)
三、函数
1、默认函数内部的东西不执行
2、创建函数
def 函数名():
函数体
return
1、接收什么返回什么
2、一旦遇到return,函数内部return一下代码不在执行
3、参数
a、形参、实参
b、普通参数:数量一致,一一对应
c、指定参数,
func1(p =“xxx”,xx=‘xxxx’)
d、默认参数
放在参数尾部
e、动态参数
1、*args
#动态参数一 def f1(*a): #a = (123,)一个*,传出的是一个元组 print(a) f1(123)
2、**kwargs
#动态参数二 def f1(**a): print(a,type(a)) f1(k1=123,k2=345) #输出结果 #{'k1': 123, 'k2': 345} <class 'dict'> #2个*的时候传出的是字典
3、万能参数
#万能参数 def f1(p,*a,**aa): print(p,type(p)) print(a,type(a)) print(aa,type(aa)) f1(11,22,33,k1=123,k2=456) #输出结果: # 11 <class 'int'> # (22, 33) <class 'tuple'> # {'k1': 123, 'k2': 456} <class 'dict'>
实例
def f1(*args): print(args,type(args)) li = [11,22,33,44] f1(li) f1(*li) #输出结果: #([11, 22, 33, 44],) <class 'tuple'> #(11, 22, 33, 44) <class 'tuple'>
f、局部变量和全部变量
全局:
大写
修改需要加,global
局部变量:
小写,仅仅在代码块中使用