2020-11-13

一.淺拷貝

? ? -->.copy()方法

d ={'name':'小黑','age':6,'color':'black'}

d1 = d.copy()????# //拷貝 出來,d和d1 是不同的對象沒有關(guān)系了,id不一樣

d1 = d #d和d1 指向了相同的對象,id 一樣

d['name'] = '小白'

print(d,id(d))

print(d1,id(d1))

# {'name': '小白', 'age': 6, 'color': 'black'} 2989288422856

# {'name': '小黑', 'age': 6, 'color': 'black'} 2989288422928

# {'name': '小白', 'age': 6, 'color': 'black'} 2188128976328

# {'name': '小白', 'age': 6, 'color': 'black'} 2188128976328


-->淺拷貝

d ={'name':{'j':'變黑','a':1},'age':6,'color':'black'}

d1 = d.copy()

d1['name']['j'] ='變白'

print(d,id(d))

print(d1,id(d1))

# {'name': {'j': '變黑', 'a': 1}, 'age': 6, 'color': 'black'} 2025892314640

# {'name': {'j': '變黑', 'a': 1}, 'age': 6, 'color': 'black'} 2025892315000

# {'name': {'j': '變白', 'a': 1}, 'age': 6, 'color': 'black'} 1707227381264

# {'name': {'j': '變白', 'a': 1}, 'age': 6, 'color': 'black'} 1707227381624

# 運(yùn)行結(jié)果:都改了:說明淺拷貝,因?yàn)橹皇强截惲俗值鋵ο?里面還有一層(列表,字典..),這個(gè)不會(huì)進(jìn)行復(fù)制,因此改了一個(gè)就都改變了

二.字典的遍歷

-->三種方法

keys()????values()????items()
d ={'name':'小黑','age':6,'color':'black'}

print(d.keys())?????????//dict_keys(['name', 'age', 'color'])

print(d.values())? ? ? ?// dict_values(['小黑', 6, 'black'])

print(d.items())? ? ? ? // dict_items([('name', '小黑'), ('age', 6), ('color', 'black')])

通過for循環(huán)可將序列中的元素拿出來

for k,v in d.items():

????????print(k,v)

name 小黑

age 6

color black

三,集合

????????集合是和列表很相似的序列

不同點(diǎn):

? ? ? ? ? ? -->存儲(chǔ)不可變對象

? ? ? ? ? ? ?-->元素是無序的

? ? ? ? ? ? ?-->元素是唯一的

-->集合的創(chuàng)建

? ? 1.直接創(chuàng)建

d = {1,2,3,4,5,"a",'b'}

print(d,type(d))

{1, 2, 3, 4, 5, 'a', 'b'}

{1, 2, 3, 4, 5, 'b', 'a'}

d = {1,2,3,4,2,1,1,'a',3,4,'a'}

print(d)

{1, 2, 3, 4, 'a'}

?2.set函數(shù)創(chuàng)建

d =set([1,2,3,4,5])

print(d,type(d))

{1, 2, 3, 4, 5}


-->集合的方法

-->in 和? not in? ? ??

s = {1,2,3,4}

print(1 in s)? ? ? ? True

print(1 not in s)????????False

-->len()? ? ? ? //返回集合中元素個(gè)數(shù)

s1 = {1,2,3,4,5}

print(len(s1))? //5

-->add? //添加單個(gè)元素

s = {1,2,3,4,}

s.add(6)

print(s)

{1, 2, 3, 4, 6}

-->update(參數(shù)) //添加多個(gè)元素,參數(shù)可以是元組,列表,集合,集合

s1 = {1,2,3,4,5}

s2 = {6,7}

s1.update(s2)

print(s1)

{1, 2, 3, 4, 5, 6, 7}

-->pop? //隨即刪除一個(gè)元素

s1 = {1,2,3,4,5}

s1.pop()

print(s1)?

{2, 3, 4, 5}

--> remove????????刪除指定元素

s = {1,2,3,'a','b'}

s.remove(3)

print(s)

{1, 2, 'a', 'b'}

-->clear //清空集合,

s = {1,2,3,4}

s.clear()

print(s)

set()

-->集合的運(yùn)算

? ? ? ? 1.交集(&)

? ? ? ? 2.并集(|)

? ? ? ? 3.差集(-)? ? ? ??

? ? ? ? 4.亦或集

s1 = {1,2,3,4,5}

s2 = {3,4,5,6,7}

print(s1 & s2)? ? ? ? //同數(shù)學(xué)集合運(yùn)算規(guī)則

print(s1 | s2)???????? //同數(shù)學(xué)集合運(yùn)算規(guī)則

print(s1 - s2)? ? ? ? //s1 減去 s1 s2的交集

print(s1 ^ s2)? ? ? ? // s1 | s2? 減去?? s1 & s2

{3, 4, 5}

{1, 2, 3, 4, 5, 6, 7}

{1, 2}

{1, 2, 6, 7}

5.<= 檢驗(yàn)子集

6.< 檢驗(yàn)真子集

7.>=? 超集

8.>? 真超集

s1 = {1,2,3,4,5}

s2 = {1,2,3}

print(s2 < s1)

print(s2 <= s1)

print(s1 > s2)

print(s1 >= s2)

True

True

True

True

四.函數(shù)的簡介

函數(shù):一個(gè)對象 萬物皆對象

函數(shù):把具有一定功能的代碼封裝起來,需要的時(shí)候調(diào)用

? ? 格式:

? ? ? ? def 函數(shù)名(形參1,形數(shù)2,...):? //函數(shù)聲明

? ? ? ? ? ? 代碼? ? ? ? ? ? ? ? ? ? ? //函數(shù)實(shí)現(xiàn)的功能

? ? ? ? 函數(shù)名(實(shí)參1,實(shí)參2,...)? ? ? ? //函數(shù)調(diào)用"""

實(shí)例:

def fn():

print('hello world')

fn()

print(fn)

hello world

<function fn at 0x0000014FEFECD268>

fn:函數(shù)這個(gè)對象(object)

五.函數(shù)的參數(shù)

? ?1.形參和實(shí)參:

? ? 形參:定義 函數(shù)時(shí)的 參數(shù)變量

? ? 實(shí)參:調(diào)用 函數(shù)時(shí),使用的參數(shù)變量

參數(shù)傳遞的過程,就是 把實(shí)參的引用 傳遞給 形參 ,使用實(shí)參的值來執(zhí)行函數(shù)體的過程。

在 Python 中,函數(shù)的 實(shí)參/返回值 都是是靠 引用 來傳遞來的

-->加法交互函數(shù)

def fn(a,b):

????print(a + b)

fn(int(input('請輸入加數(shù)1:')),int(input('請輸入加數(shù)2:')))

請輸入加數(shù)1:2

請輸入加數(shù)2:4

6

2.參數(shù)傳遞方式

-->位置傳參?????對號入座


def fn(a,b,c):

? ? ?print('a = ',a)

????print('b = ', b)

????print('c = ', c)

fn(1,2,3)

a =? 1

b =? 2

c =? 3

-->關(guān)鍵字傳參

def fn(b = 1, c = 2, a = 3):

? ? ?print('a = ', a)

? ? ?print('b = ', b)

? ? ?print('c = ', c)

fn(4,5,6)

a =? 6

b =? 4

c =? 5

-->混合傳參

[注意]關(guān)鍵字參數(shù)不能放在位置參數(shù)前面

def fn(b = 1, c, a):

? ? ?print('a = ', a)

? ? ?print('b = ', b)

? ? ?print('c = ', c)

fn(4,5,6)

SyntaxError: non-default argument follows default argument

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 渲染: 1 當(dāng)前屏幕渲染:在GPU的當(dāng)前屏幕緩沖區(qū)中進(jìn)行的渲染 2 離屏渲染:在GPU當(dāng)前屏幕緩沖區(qū)外另建緩沖區(qū)渲...
    adrian920閱讀 447評論 0 0
  • 1. 函數(shù) 1.1 函數(shù)的 3 種定義方法 1.1.1 函數(shù)聲明 //ES5 functiongetSum(){}...
    Mrssssss閱讀 455評論 0 0
  • Es6 1.數(shù)組 1.擴(kuò)展運(yùn)算符 是三個(gè)點(diǎn)(...)。它好比 rest 參數(shù)的逆運(yùn)算,將一個(gè)數(shù)組轉(zhuǎn)為用逗號分隔的參...
    林深不見鹿閱讀 262評論 0 0
  • # 第一優(yōu)先級規(guī)則聲明: # 除了夢境,每一個(gè)意識主進(jìn)程都必須與一個(gè)身體參與的機(jī)械進(jìn)程相匹配,否則結(jié)束意識主進(jìn)程。...
    李洞BarryLi閱讀 4,202評論 0 1
  • 久違的晴天,家長會(huì)。 家長大會(huì)開好到教室時(shí),離放學(xué)已經(jīng)沒多少時(shí)間了。班主任說已經(jīng)安排了三個(gè)家長分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,839評論 16 22

友情鏈接更多精彩內(nèi)容