6 基礎語法(5)

2021-09-27 12:42:50 字數 4338 閱讀 5398

# 階乘

deffunc_jc

(n):

if n >=1:

return n * func_jc(n-1)

return

1print

(func_jc(10)

)

3628800
# 斐波那契數列

deffunc_fbnq

(n):

if n ==

1or n ==2:

return

1return func_fbnq(n-1)

+ func_fbnq(n-2)

print

(func_fbnq(10)

)

55
# 漢諾塔

a ="a"

b ="b"

c ="c"

defhnt

(a,b,c,n)

:if n ==1:

print

("{}=>{}"

.format

(a,c)

)return

none

if n ==2:

print

("{}=>{}"

.format

(a,c)

)print

("{}=>{}"

.format

(a,b)

)print

("{}=>{}"

.format

(b,c)

)return

none

hnt(a,c,b,n-1)

print

("{}=>{}"

.format

(a,c)

) hnt(b,a,c,n-

1)

# 乙個盤子

hnt(a,b,c,

1)

a=>c
# 兩個盤子

hnt(a,b,c,

2)

a=>c

a=>b

b=>c

類 vs 物件

類的內容

定義類:class關鍵字

類命名:

## 定義學生類

class

student()

:'''

此處定義乙個空類

pass是關鍵字,表示佔位,wu無意義

'''pass

# 定義乙個物件,python不用new關鍵字

# 例項化

xiaobai = student(

)

class

pystudent()

: name =

"小白"

age =

18'''

this指的是當前類的例項,作為方法的第乙個形參

'''defgetname

(this,n,a)

: this.name = n

this.age = a

print

("姓名:"

+this.name +

"\t年齡:"

+str

(this.age)

) this.work =

"程式設計師"

print

(this.name +

"的工作:"

+this.work)

return

none

xiaobai = pystudent(

)print

(xiaobai.name)

print

(xiaobai.age)

# xiaobai.getname()

# print(xiaobai.work)

# 例項呼叫類的方法,預設把自己作為第乙個引數傳進去

xiaobai.getname(

"dabai",12

)print

("姓名:"

+pystudent.name +

"\t年齡:"

+str

(pystudent.age)

)

小白

18姓名:dabai 年齡:12

dabai的工作:程式設計師

姓名:小白 年齡:18

class

pystudent()

: name =

"小白"

age =

18'''

this指的是當前類的例項,作為方法的第乙個形參

'''defgetname

(this,n,a)

: this.name = n

this.age = a

print

("姓名:"

+this.name +

"\t年齡:"

+str

(this.age)

) this.work =

"程式設計師"

print

(this.name +

"的工作:"

+this.work)

return

none

defsos()

:print

("sos"

)print

("姓名:"

+pystudent.name +

"\t年齡:"

+str

(pystudent.age)

)print

("姓名:"

+__class__.name +

"\t年齡:"

+str

(__class__.age)

)

pystudent.sos(

)

sos

姓名:小白 年齡:18

姓名:小白 年齡:18

class

student()

:def

__init__

(this,height,weight)

: this.height = height

this.weight = weight

xiaoming = student(

180,50)

print

(xiaoming.height)

print

(xiaoming.weight)

180

50

python子類可以繼承多個父類

class

person()

:pass

# teacher是person的子類,父類寫在括號中,可以有多個

class

teacher

(person)

:pass

t = teacher(

)print

(t)

<__main__.teacher object at 0x0000024a4c038c88>
class

bird()

: fly =

"we can fly"

defflying

(this)

:print

("飛呀飛呀"

)class

birdman

(person,bird)

:pass

bm = birdman(

)bm.flying(

)

飛呀飛呀
print

(issubclass

(birdman,bird)

)print

(issubclass

(birdman,person)

)print

(issubclass

(birdman,teacher)

)

true

true

false

ES6 基礎語法

1 var vs let const var 可以定義全域性變數,與之不同,let的重要特性就是提供了塊級作用域和不具備變數提公升。const主要用於定義常量,常量顧名思義不是變數,意思就是一經定義,值就無法改變。首先弄明白塊級作用域 es5中有全域性作用域與函式作用域,塊級作用域是es6中的新語法...

ES6基礎語法

let 變數 不具備變數提公升特性 const 常量 引用位址不可改變 在宣告時必須被賦值 let和const都是塊級作用域 只在最靠近的乙個塊中 花括號內 有效 在es6中新增了模板字串拼接 var name kingfan var age 18 var msg 我是 今年 歲 console.l...

Python基礎語法6 模組

1.import 模組名,例如 import random,csv 2.from 模組名 import 變數,函式名 3.ifname main 用來判定主模組 4.dir 模組名 可以看模組有哪些函式,屬性,方法 例子 建乙個檔案story.py sentence 從前有座山,def mounta...