首页 > 代码库 > 三元运算 函数

三元运算 函数

1.三目运算 三元运算
name = ‘alex‘ if 1>1 else ‘eric‘
print (name)


2.深浅拷贝copy deepcopy

# str 一次性创建,不能被修改,只要修改,再创建
# list 链表,下一个元素的位置,上一个元素的位置

str,数字:赋值/浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址,

#拷贝,赋值:地址都一样
import copy
n1 = 123
n2 = copy.copy(n1)  
id(n1)
id(n2)

n2 = copy.deepcopy(n1)
id(n1)
id(n2)



列表/字典/元素......

深拷贝:在内存中将所有的数据重新创建一份(除了最底一层,上层都拷贝一份,即:python内部对字符串和数字的

优化)

浅拷贝:只把最外层拷贝了一份,里面指向同一个地址




3.函数

面向过程编程:根据业务逻辑从上到下实现功能,往往用一长段代码来实现指定功能

函数式编程:

a.def  定义函数的关键字

    1.def 函数名(形参1, 形参2, 形参3):
        函数体
        return "123"

    2.执行函数
        函数名(实参1, 实参2, 实参3)

    3.形参,实参(默认按照顺序赋值),
    4.指定形参传入实参时,可以不按照顺序
    5.函数可以有默认参数(有默认值的参数一定要放在参数的尾部)

def drive(p, name="张"):
    temp = name + "开车去" + p
    return temp

ret = drive("海南")
print (ret)

    6.动态参数
        *,元组,元组的元素
        **,字典
        结合
        def f1(*args, **kwargs)

    7.为动态参数传入列表/字典/元组
        *args, *列表
        **kwargs, **字典

-----------------------
    def f1(*a):
            print (a, type(a))

    f1(123,456, [11, 22, 33], {"k1":"21"})
(123, 456, [11, 22, 33], {‘k1‘: ‘21‘}) <class ‘tuple‘>
-----------------------
    def f1(**a):
            print (a, type(a))

    f1(k1=123, k2=456)
{‘k2‘: 456, ‘k1‘: 123} <class ‘dict‘>


    万能参数
------------------------
    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‘>
{‘k2‘: 456, ‘k1‘: 123} <class ‘dict‘>




b.函数返回值:默认返回None    eg:如果成功了,返回一个值,如果失败了,返回另一个值
    return   return执行后,函数内下面的代码均不再执行

c.参数:

#p:形式参数
def kuaidi(p):
    #取快递
    if p =="13500098853":
        return True
    else:
        return False
#实际参数
r1 = kuaidi(‘13500098853‘)
r2 = kuaidi(‘123‘)
if r2:
    print ("成功")
else:
    print ("失败")
--------------------------------
    8.全局变量/局部变量
#全局变量
PERSON = "alex"

def func1():
    #局部变量
    a = 123
    global PERSON
    PERSON = "eric"
    print (a)

def fun2():
    #局部变量
    a = 456
    print (PERSON)
    print (a)

func1()
fun2()
###########
123
eric
456









三元运算 函数