Python中函式和方法

2022-09-11 11:03:28 字數 981 閱讀 6668

一、作用域不同

(一)函式作用域:從函式呼叫開始至函式執行完成,返回給呼叫者後,在執行過程中開闢的空間會自動釋放,也就是說函式執行完成後,函式體內部通過賦值等方式修改變數的值不會保留,會隨著返回給呼叫者後,開闢的空間會自動釋放。

(二)方法作用域:通過例項化的物件進行方法的呼叫,呼叫後開闢的空間不會釋放,也就是說呼叫方法中對變數的修改值會一直保留。

二、呼叫的方式不同。

(一)函式:通過「函式名()」的方式進行呼叫。

(二)方法:通過「物件.方法名」的方式進行呼叫。

python初學者列表學習遇到的錯誤:attributeerror: 'list' object has no attribute 'sorted'

沒有注意sort()和sorted()的區別,sort()是方法,sorted()是函式。 

使用sort()對佇列進行永久性排序

cars=['

bmw','

audi

','toyato

','subaru']

print

(cars)

cars.sort()

print(cars)

sort()方法永久性對列表按字母順序進行排列,無法恢復。

按字母順序相反的進行排序

cars.sort(reverse=true)

print(cars)

使用函式sorted()對列表進行臨時排列

cars=['

bmw','

audi

','toyato

','subaru']

print

(sorted(cars))

print(cars)

sorted()函式不改變列表原來的排列順序

print(sorted(cars,reverse=true))

print(cars)

python中函式和方法的區別

轉 本篇內容主要介紹從幾個維度來介紹下python中函式和方法的區別 首先,從分類的角度來分析。1 函式的分類 2 方法的分類 其次,從作用域的角度來分析 1 函式作用域 從函式呼叫開始至函式執行完成,返回給呼叫者後,在執行過程中開闢的空間會自動釋放,也就是說函式執行完成後,函式體內部通過賦值等方式...

python中函式和方法的區別

首先摒棄錯誤認知 並不是類中的呼叫都叫方法 看舉例看 class foo object deffunc self pass 例項化 obj foo 執行方式一 呼叫的func是方法 obj.func func 方法 執行方式二 呼叫的func是函式 foo.func 123 函式 是的!例子中很明確...

python中函式和方法的區別

1.函式要手動傳self,方法主動傳self 2.如果是乙個函式,用類名去呼叫,如果是乙個方法,用物件去呼叫 舉例說明 class foo object def init self self.name haiyan def func self print self.name obj foo obj....