挑戰每日打卡python基礎題
come with me !今日練習:冒泡順序,類中實現計數累增的兩種方式:初始化、全局變量
1、冒泡順序,重復地遍歷要排序的列表,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來
冒泡原理.gif
l1 = [2,7,36,12,25,90,4,51]
# for i in range(len(l1)-1):
# if l1[i] > l1[i+1]:
# l1[i], l1[i+1] = l1[i+1], l1[i]
for i in range(len(l1)-1):
for j in range(len(l1)-1-i):
if l1[j] > l1[j+1]:
l1[j],l1[j+1] = l1[j+1],l1[j]
print(l1)
2、python實現計數累增的方法
class Count:
#通過初始化函數__init__把屬性進行初始化
def __init__(self):
#初始化參數,如果沒有給默認值時,實例化對象的時候必須給初始化賦值
self.count1 = 0
def count_case(self):
for i in range(10):
#初始化傳入的值想要被其他方法調用,就要把這些值賦值給對象,也就是self.屬性名;
self.count1 += 1
return self.count1
if __name__ == '__main__':
p = Count()
print(p.count_case())
#結果:10
只有賦值給對象的屬性才能被其他方法調用
注意:
對象屬性只能被對象調用;
類屬性,既可以被對象調用,也可以被類調用,因為對象就是類的實例化
3、python實現計數累增的方法
# python實現計數累增的方法
class Employee():
empsCount = 0 # 全局變量
def __init__(self):
pass
def count_case(self):
for i in range(10):
# 賦值給類,這樣的話對象和類都可以調用如類名.屬性名
Employee.empsCount = Employee.empsCount + 1
return Employee.empsCount
if __name__ == '__main__':
p = Employee()
print(p.count_case())
#結果:10
1、變量的查找順序為先在函數內部去找,繼續往上查找;
2、函數內部定義的局部變量會覆蓋全局變量,優先使用局部變量;
3、通過global定義的全局變量,函數內部對全局變量的任何改變,都會影響全局變量的值,因為全局變量只有一份。
學python,跟學其他語言一樣,多練才能更熟練~
come on !