三元运算 函数

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

时间: 2024-10-29 10:46:53

三元运算 函数的相关文章

004——Python 三元运算,Python函数

三元运算: if 1+1 == 2 : print (True) else: print (False) #等同于: print (True if 1+1==2 else False) 函数的基本语法def XX():     定义函数 #  return aa  返回值 # 或 pass      什么也不返回 # XX()   调用函数 #函数的有三中不同的参数: #------普通参数------ def func(name):   print (name) func('fanhaibo'

python之路(sed,函数,三元运算)

python之路(sed,函数,三元运算) 一.sed集合 1.set无序,不重复序列 2.创建 1 se = {11,22,33,33,44} 2 list() #只要是一个类加上()自动执行 list __init__ 3 list = [11,22] 4 5 s1 = set(list) 6 print(s1) 7 8 #创建集合 9 s1 = {11,22} 10 s2 = set('可循环的') 11 12 #操作集合 13 s = set() 14 print(s) 15 s.add

Python基础入门(三)深浅拷贝、函数、内置函数、文件处理、三元运算、递归

深浅拷贝 import copy copy.copy() #浅拷贝 copy.deepcopy() #深拷贝 num = 110 copynum = num #赋值 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 import copy 2 #定义变量 数字.字符串 3 n1 = 123 4 #n1 = 'nick' 5 print(id(n1)) 6 7 #赋值 8 n2 = n1 9 print(id(n2)) 10 11 #浅

匿名函数、生成式、三元运算

匿名函数,关键字lambda,后接参数,然后是功能代码,整体返回结果 #匿名函数lambda fun = lambda x, y : x+y print(fun(2,3), type(fun)) 输出结果: 5 <class 'function'> 列表生成式,通过在[ ]中通过...for...in...快速生成数字列表 #列表生成式 list = [x for x in range(5)] print(list) 输出结果: [0, 1, 2, 3, 4] 生成器,通过在( )里面通过..

第三章、三元运算、文件处理、函数

第三章.三元运算.文件处理.函数 三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件语句: if 条件成立: val = 1 else: val = 2 # 可以写成如下: val = 1 if 条件成立 else 2 文件处理 读,写,修改 读 f = open(file='d:/*.txt', mode='r', encoding='utf-8') date = f.read() f.close() r是只读模式,rb是以二进制读文件 第三方模块 chardet检测二进

python函数 | 三元运算

三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值 格式:[on_true] if [expression] else [on_false] 三元运算只适用于简单的if else判断,再多一层if判断就不适用了. 举例说明:比大小,大者返回 写一个函数 def max_min(a,b): if int(a) > int(b): return a else: return b print(max_min(1,3)) 三元运算 def max_min(a,b): z = a if a > b

三元运算&amp;匿名函数lambda

lambda 1 # 语法: 2 # 参数 : 返回值 3 4 # 1.不带参数的lambda表达式 5 def func(): 6 return '开挂的人生不需要解释' 7 8 9 func = lambda : '开挂的人上不需要解释' 10 print(func()) # 开挂的人上不需要解释 11 12 13 # 2. 带参数的lambda 14 def func(n): 15 return type(n) 16 17 18 func = lambda n : type(n) 19 p

bytes数据类型,三元运算,进制互换

三元运算 如果这个条件成立就存这个值,如果那个条件成立就存那个值. 进制 bytes类型,字节数据类型也就是二进制类型,这个是python3专有数据类型,在python2里跟字符串是一个类型,也就是python2是不区分这个数据类型的. 比如说音频,视频文件都是二进制类型,也就是bytes类型.(python3通过socket在网络上传输数据时必须要用二进制格式,python2没有强制必须是二进制,字符串也可以) Python3中最大的新特性就是对文本和二进制数据做了更清晰的区分.文本通常是Un

python中的lambda表达式与三元运算

1 >>> def add(x,y): #定义一个加法函数 2 return x+y #返回两个参数的相加的值 3 4 >>> z=f(3,4) 5 >>> print(z) 6 7 #调用加法函数返回7 7 >>> lambda x,y:x+y 8 <function <lambda> at 0x0000020F385B86A8> 9 #可以看到lambda是一个 function(函数)类对象 10 >