原创 python學習 算法初步 最壞時間複雜度

算法完成工作最少需要多少基本操作,最優時間複雜度 算法完成工作最多需要多少基本操作,最壞時間複雜度 算法完成工作平均需要多少基本操作,平均時間複雜度 最優時間複雜度,意義與價值不大,只能反映最樂觀的情況,沒有參考價值。 最壞時間複雜度

原创 python學習 算法初步 常見時間複雜度和大小關係

常見時間複雜度 所耗時間從小到大

原创 python學習 算法初步 時間複雜度與大O記法

算法是解決問題的方法,我們直接討論問題: 如果a+b+c=1000,且 a^ 2 + b ^2=c ^2(a,b,c爲自然數),如何求出所有可能的a,b,c組合? #1.枚舉法 #枚舉法 import time #引入時間模塊計算完

原创 python學習 LEGB規則

LEGB規則 python使用LEGB規則查找一個符號對應的對象 locals -> enclosing function -> globals -> builtins locals,當前所在的命名空間(如函數,模塊),函數的參數也屬

原创 python學習 通用裝飾器及裝飾器傳參數

在之前的博客已經講過裝飾器,並且我們知道根據不同的函數(有無參數,有無返回值)可以用不同的裝飾器,但是不是可以歸納一下,寫出一個通用的裝飾器呢? 程序如下: def func(functionName): def func_in(*

原创 python學習 裝飾器

def w1(func): def inner(): print('---正在驗證---') func() #閉包 return inner def f1(): print ('-----f1--

原创 python學習 閉包

閉包指的是在定義的函數中在定義一個函數,並且這個函數用到了函數之外的變量 程序如下:def test(number): print ('=====1=====') def test_in(number2): print('==

原创 python學習 父類,子類,繼承,重寫

#子類(派生類),父類(基類),繼承 class animal: def eat(self): print(’-------吃-------’) def drink(self): print(’-------喝-------’) de

原创 python學習 多繼承

#子類可以擁有多個父類 #object是所有類的基類(父類), # 帶有object的類叫做“新式類”不帶有object的類叫做經典類 #新式類比經典類多一些功能python3推薦使用新式類 class Base(object):

原创 python學習 私有方法,私有方法在繼承中的表現

私有方法:顧名思義,只有自己才能使用的方法,在python中,定義私有方法一般用雙下劃線表示:‘__’ class Sent: #私有方法(雙下劃線定義的,比較重要,可以通過新建一個方法調用) def __sent_msg(self)

原创 python學習 類屬性,實例屬性,類方法,實例方法,靜態方法

#類屬性,實例屬性 class Tool(object): #類屬性 num = 0 #方法 def __init__(self,new_name): #實例屬性 self.name=new_name #類屬

原创 python學習 多態

#多態 #定義的類型和運行時的類型不一樣,即爲多態 class Dog(object): def print_self(self): print('一隻小狗') class Zangao(Dog): def print_se

原创 python學習 面向對象的學習 認識__init__ __str__方法

class dog: #定義一個dog類 #初始化對象 def __init__(self,new_name,new_age): print('-----------hahaha----------') self.na

原创 python學習 __del__方法

class Dog: def del(self): print(’----------英雄over---------’) dog1 = Dog() dog2 = dog1 del dog1 #硬鏈接,數據可以有多個名字,刪除dog1

原创 python學習 遞歸法實例 斐波那契數列及漢諾塔

斐波那契數列 1.迭代法 def fab(n): n1=1 n2=1 n3=1 if n<1: print(“輸入有誤!”) return -1 while (n-2)>0: n3=n1+n2 n1=n2 n-=1 return n3