Python學習記錄 Python函式及物件

2021-08-04 16:49:35 字數 4715 閱讀 3528

1.函式操縱

a.函式定義

b.引數的定義 定參與不定參以及函式過載

c.引數預設值

d.傳遞引用和引用外部變數

e.修改全域性變數

f.lambda寫法 和 函式傳遞

g.函式內定義函式

2.物件操縱

1)物件定義

a.建構函式和析構函式

b.定義成員變數和成員方法

c.定義私有成員和公有成員

d.類的靜態方法

2)繼承於多型

a.繼承方法

b.訪問規則

c.覆寫父類方法

def 函式名(引數列表):

函式體#函式定義

deffirstfunc

(): print("\n\nhello,myfirstfunc!")

#函式呼叫

firstfunc()

#1. 定參

defsecondfunc

(arg1,arg2):

#do something

#2. 不定參 函式過載

defsecondfunc

(arg1,arg2,*arg3):

print("\n\nsecondfunc(arg1,arg2,*arg3):")

print(arg1)

print(arg2)

print(arg3)

secondfunc(none,"python","test","func")

# 輸出

# secondfunc(arg1,arg2,*arg3):

# none

# python

# ('test', )

#3.預設值

defthreefunc

(arg1,arg2 = "default"):

#do something

#4.傳遞引用和直接訪問全域性變數

val = "python"

deffourfunc

(arg_list,arg_dirc):

print("\n\nfourfunc(arg_list,arg_dirc):")

print(arg_list) # list是個引用

print(arg_dirc) # dirc是個引用

print(val) #直接訪問全域性變數 //唯讀不寫 寫請往下看

key = "change_key"

if key in arg_dirc:

arg_dirc[key] = "fourfunc(arg_list,arg_dirc):"

return

"test"

#5 修改全域性變數

deffivefunc

(): print("\n\ndef fivefunc():")

global val #如果需要修改全域性變數則需要新增global標示字,如果只是訪問全域性變數直接直接引用

print(val)

val = "fefefe"

print(val)

#除了global識別符號,還有nonlocl

#6 lambda 和 函式傳遞

#lambda 寫法:lambda [arg1 [,arg2,.....argn]]:expression

defsixfunc

(callback):

print("\n\ndef sixfunc(callback):")

callback("@def sixfunc(callback):")

#lambda寫法 這裡的 or 是用來連線多行lambda表示式的

func1 = lambda arg:print("lambda arg:") or print(arg)

sixfunc(func1)

#輸出#def sixfunc(callback):

#lambda arg:

#@def sixfunc(callback):

# 函式寫法

defargfunc

(arg):

print("def argfunc(arg):")

print(arg)

func2 = argfunc

sixfunc(func2)

#輸出#def sixfunc(callback):

#def argfunc(arg):

#@def sixfunc(callback):

def

getfunc

(): print("execute getfunc()")

# 在方法體內定義乙個函式,並且返回

deftestfunc

(): print("execute testfunc()")

# do something

return testfunc

back_func = getfunc()

back_func()

#輸出#execute getfunc()

#execute testfunc()

a.建構函式和析構函式

b.定義成員變數和成員方法

c.定義私有成員和公有成員

d.類的靜態方法

# 所有帶雙下劃線的函式,變數都是私有的

# 所有的物件方法第乙個變數必定是自己,也必須是自己,但可以自己命名,例如 self,this...

class

helloclass:

val = ""

#public 成員變數

__val2 = ""

#private 成員變數

# 建構函式

def__init__

(self,val):

self.val = "hello,class" + str(val)

# 析構函式

def__del__

(self):

print(self.val,"__del__")

# 自定義函式

# public

defprint

(self,arg):

print("\n")

print(self.val)

print(arg)

self.__print()

# private 所有加雙下劃線的都是private型別

def__print

(self):

print("private function")

# public static

@staticmethod

defprinthelloclass

(): print("printhelloclass helloclass")

helloclass.printhelloclass()

# 輸出

# printhelloclass helloclass

x1 = helloclass(none)

x1.print("__x1.hello")

del x1 #刪除物件

# 輸出

# hello,classnone

# __x1.hello

# private function

# hello,classnone __del__

x2 = helloclass("x2")

x2.print("__x2.hello")

del x2

# 輸出

# hello,classx2

# __x2.hello

# private function

# hello,classx2 __del__

a.繼承方法

b.訪問規則

c.覆寫父類方法

class

bassclass:

val = ""

def__init__

(self,val):

self.val = "bassclass" + str(val)

defprint

(): print("\nbassclass")

# 繼承方法 childclass(bassclass1,bassclass2,...)

# 支援多繼承 繼承訪問規則是從左往右找 即 先從當前物件裡面找,找不到就去第乙個父類裡面找,以此類推

class

childclass

(bassclass):

def__init__

(self,val):

bassclass.__init__(self,val) #按照繼承順序初始化父類

self.val = "childclass" + str(val)

# override

defprint

(self):

print("\nchildclass" + " " + str(self.val))

obj = childclass("obj")

obj.print()

#輸出#childclass childclassobj

Python學習筆記 1 1 2 認識Python

一.課程目標 二.詳情解讀 1.初識pythonpython語言是一種高階程式語言,它於1991年由吉多.範羅蘇姆 guido van rossum 發明。目前主要應用於web開發 gui開發 網路爬蟲 資料科學 人工智慧等領域。python官方 python語言也是一種多正規化程式語言,即物件導向...

python學習方法 十二種學習Python的方法

python學習方法 python是地球上最流行的程式語言之一。它被世界各地的開發商和製造商所接受。大多數linux和macos計算機都預裝了python版本,現在,即使是少數windows計算機 商也正在安裝python。也許您參加聚會遲到了,您想學習但不知道該去 這12個資源將幫助您入門,並逐步...

pytho學習旅途

轉換當前格式日期 dt datetime.datetime.strptime dtstr,y m d print dt 切片獲取年份 輸入一行字元,分別統計其中英文本母,空格,數,和其他字元數 import string s ww m 23 4j 初始化個數 列印楊輝三角的前十行 triange 1...