第八課 函式

2021-10-08 09:21:10 字數 2460 閱讀 4145

1.id(標識)

2.type(型別)

3. value (值)

關於可變物件的修改,可以參考下面程式理解:

a =[1,2,3] #首先給a賦值列表,1,2,3

print(a,id(a)) #列印a,和a的id

a[0]=6 #換掉列表a的第乙個值,改為6

print(a,id(a)) #列印a,和a的id,a的id和之前的一樣。

a =[4,5,6] #給a重新賦值列表

print(a,id(a)) #列印a,和a的id,a的id和之前不一樣了。

結果:[1, 2, 3] 49000104

[6, 2, 3] 49000104

[4, 5, 6] 49904424

例子:如果給把列表a的值賦值給b

a =[1,2,3]

b = a

b[0]=6

print(『a』,a,id(a))

print(『b』,b,id(b))

結果a [6, 2, 3] 50704040

b [6, 2, 3] 50704040

可以發現,id是一樣的。而且,改了b,a也被改了。如圖。

例子:def fn(): #定義fn為乙個函式

print(『這是我的第乙個函式』) #fn這個函式的內容是,列印』這是我的第乙個函式『

fn() #呼叫fn函式,注意有()

print(fn) #列印fn這個函式,注意沒有()

結果:這是我的第乙個函式

注意:函式名必須符合識別符號的規範(可以包含字⺟、數字、下劃線但是不能以數字開頭)

print是函式物件 print()是調⽤函式

例子:def s(a,b):

print(a+b)

s(2,3)結果5

例子:有預設值,傳值按照傳值,不傳值按照預設值。

def fn(a,b,c=20,d=30):

print(『a=』,a)

print(『b=』, b)

print(『c=』, c)

print(『d=』, d)

fn(1,2,3)

結果:a= 1

b= 2

c= 3

d= 30

例子:def fn(a=10,b=20,c=30):

print(『c=』,c)

print(『a=』, a)

print(『b=』, b)

fn()

fn(1,2,3)

結果c= 30

a= 10

b= 20

c= 3

a= 1

b= 2

即帶等號的要在最後。例子:

def fn(*a):

print(『a=』,a,type(a))

fn()

結果:a= () #結果是元組形式。

例子:def fn(*a):

print(『a=』,a,type(a))

fn(1,2,3,4,5,6)

結果:a= (1, 2, 3, 4, 5, 6)

例子:def s1(*a):

r=0for n in a:

r +=n

print ®

s1(1,2,3,4,5,6)

結果:21

例子:def fn1(a,b,*c):

print(『a=』,a)

print(『b=』, b)

print(『c=』, c)

fn1(1,2,3,4,5,6)

結果:a= 1

b= 2

c= (3, 4, 5, 6)

例子:def fn1(*a,b,c):

print(『a=』,a)

print(『b=』, b)

print(『c=』, c)

fn1(1,2,3,4,b=5,c=6)

結果:a= (1, 2, 3, 4)

b= 5

c= 6

例子:def fn1(**a):

print(『a=』,a)

fn1(b=1,d =2,c=3)

結果:a=

例子:def fn(a,b,c):

print(『a=』, a)

print(『b=』, b)

print(『c=』, c)

t=(4,5,6)

fn(t[0],t[1],t[2])

結果:a= 4

b= 5

c= 6

例子:def fn(a,b,c):

print(『a=』, a)

print(『b=』, b)

print(『c=』, c)

d =

fn(**d)

結果:a= 1

b= 2

c= 3

第八課 混合

第八課 混合 opengl中的混色 在opengl中實現混色的步驟類似於我們以前提到的opengl過程。接著設定公式,並在繪製透明物件時關閉寫深度快取。因為我們想在半透明的圖形背後繪製 物件。這不是正確的混色方法,但絕大多數時候這種做法在簡單的專案中都工作的很好。rui martins 的補充 正確...

第八課 陣列

1 宣告 int arr string str 2 分配空間 arr new int 5 3 宣告同時分配記憶體 int arr new int 5 4 初始化 int arr new int 5 int arr2 1 宣告 int arr string str 2 分配空間 1 直接為每一維分配空...

NeHe OpenGL第八課 混合

nehe opengl第八課 混合 混合 在這一課裡,我們在紋理的基礎上加上了混合,它看起具有透明的效果,當然解釋它不是那麼容易,當希望你喜歡它。簡單的透明 opengl中的絕大多數特效都與某些型別的 色彩 混合有關。混色的定義為,將某個象素的顏色和已繪製在螢幕上與其對應的象素顏色相互結合。至於如何...