python每日打卡題003

挑戰每日打卡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 !

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Python語言特性 1 Python的函數參數傳遞 看兩個如下例子,分析運行結果: 代碼一: a = 1 def...
    伊森H閱讀 3,083評論 0 15
  • Python語言特性 1 Python的函數參數傳遞 看兩個如下例子,分析運行結果: 代碼一: a = 1 def...
    時光清淺03閱讀 503評論 0 0
  • 程序員面試寶典 一、C++ 基礎 1. 位運算 返回x二進制數中的1的個數? 返回x,y的平均值? 返回絕對值?...
    小任同學an閱讀 1,205評論 0 0
  • 關于數據的存儲結構,以下選項描述正確的是( D )A: 數據所占的存儲空間量B: 存儲在外存中的數據C: 數據在計...
    IIronMan閱讀 136,285評論 7 60
  • Python現在非常火,語法簡單而且功能強大,很多同學都想學Python!最近陸陸續續有很多小伙伴問我,學Pyth...
    Java界小圖閱讀 871評論 1 19