python小例子(三)

2022-06-23 07:18:11 字數 1783 閱讀 4344

1.提高python執行速度的方法

(1)使用生成器,節約大量記憶體;

(2)迴圈**優化,避免過多重複**的執行;

(3)核心模組使用cpython,pypy等;

(4)多程序,多執行緒,協程;

(5)多個if elif判斷,可以把最可能發生的放在前面;

2.mysql和redis的區別?

redis:記憶體型菲關聯式資料庫,資料存放在記憶體中,速度快;

mysql:關係型資料庫,資料存放在硬碟中,檢索的話,會有一定的i/o操作,速度較慢;

3.列出常見mysql資料儲存引擎

innodb:支援事務處理,支援外來鍵,支援崩潰修復能力和併發控制。如果需要對事務的完整性要求比較高(比如銀行),要求實現併發控制(比如售票),那選擇innodb有很大的優勢。如果需要頻繁的更新、刪除操作的資料庫,也可以選擇innodb,因為支援事務的提交(commit)和回滾(rollback)。 

myisam:插入資料快,空間和記憶體使用比較低。如果表主要是用於插入新記錄和讀出記錄,那麼選擇myisam能實現處理高效率。如果應用的完整性、併發性要求比 較低,也可以使用。

memory:所有的資料都在記憶體中,資料的處理速度快,但是安全性不高。如果需要很快的讀寫速度,對資料的安全性要求較低,可以選擇memoey。它對錶的大小有要求,不能建立太大的表。所以,這類資料庫只使用在相對較小的資料庫表。

4.簡述cookie和session的區別

(1)session 在伺服器端,cookie 在客戶端(瀏覽器);

(2)session 的執行依賴 session id,而 session id 是存在 cookie 中的,也就是說,如果瀏覽器禁用了 cookie ,同時 session 也會失效,儲存session時,鍵與cookie中的sessionid相同,值是開發人員設定的鍵值對資訊,進行了base64編碼,過期時間由開發人員設定;

(3)cookie安全性比session差;

5.簡述執行緒、程序

程序:

(1)作業系統進行資源分配和排程的基本單位,多個程序之間相互獨立;

(2)穩定性好,如果乙個程序崩潰,不影響其他程序,但是程序消耗資源大,開啟的程序數量有限制;

執行緒:

(1)cpu進行資源分配和排程的基本單位,執行緒是程序的一部分,是比程序更小的能獨立執行的基本單位,乙個程序下的多個執行緒可以共享該程序的所有資源;

(2)如果io操作密集,則可以多執行緒執行效率高,缺點是如果乙個執行緒崩潰,都會造成程序的崩潰;

應用:

io密集的用多執行緒,在使用者輸入,sleep 時候,可以切換到其他執行緒執行,減少等待的時間;

cpu密集的用多程序,因為假如io操作少,用多執行緒的話,因為執行緒共享乙個全域性直譯器鎖,當前執行的執行緒會霸佔gil,其他執行緒沒有gil,就不能充分利用多核cpu的優勢;

6.幾種魔術方法

__init__:物件初始化方法

__new__:建立物件時候執行的方法,單列模式會用到

__str__:當使用print輸出物件的時候,只要自己定義了__str__(self)方法,那麼就會列印從在這個方法中return的資料

__del__:刪除物件執行的方法

7.使用lambda函式對list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],輸出結果為[0,2,4,8,8,9,-2,-4,-4,-5,-20],正數從小到大,負數從大到小。

python2 7練習小例子(三)

3 題目 乙個整數,它加上100後是乙個完全平方數,再加上168又是乙個完全平方數,請問該數是多少?程式分析 假設該數為 x。1 則 x 100 n2,x 100 168 m2。2 計算等式 m2 n2 m n m n 168。3 設定 m n i,m n j,i j 168,i 和 j 至少乙個是...

python爬蟲小例子

如下 r.raise for status 的功能是判斷返回的狀態碼,如果狀態碼不是200 如404 則丟擲異常 來檢視user agent屬性。requests庫寫的 預設user agent是 python requests x.xx.x x表示版本號 如果訪問不成功,可嘗試修改 user ag...

Python演算法小例子

累加求和 1 num以內的累計和 可以使用 for迴圈,while迴圈,遞迴 num int input 請輸入num的值 defsum 1 for迴圈 sum 0for x in range num 1 sum x print sum def sum 2 num 遞迴方法 if num 0 ret...