一、作用域不同
(一)函数作用域:从函数调用开始至函数执行完成,返回给调用者后,在执行过程中开辟的空间会自动释放,也就是说函数执行完成后,函数体内部通过赋值等方式修改变量的值不会保留,会随着返回给调用者后,开辟的空间会自动释放。
(二)方法作用域:通过实例化的对象进行方法的调用,调用后开辟的空间不会释放,也就是说调用方法中对变量的修改值会一直保留。
二、调用的方式不同。
(一)函数:通过“函数名()”的方式进行调用。
(二)方法:通过“对象.方法名”的方式进行调用。
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)