網絡爬蟲學習筆記(2)1資料《Python網絡爬蟲從入門到實踐》唐松,陳志銓。主要面向windows平臺下的python3。菜鳥教程-》python2筆記2-1Python基礎(1)++python的列表還有一種只讀格式——元組Tuple,它用()進行賦值,且只能在初始化時賦值。列表有追加元素的內置方法append()字典有內置方法keys()(獲得所有鍵的值),values()元組用“()”標識,列表用“[]”標識,字典用“{}”標識type(變量)查看
系統 2019-09-27 17:52:44 1757
概述如今我也是使用Python寫代碼好多年了,但是我卻很少關心GIL的內部機制,導致在寫Python多線程程序的時候。今天我們就來看看CPython的源代碼,探索一下GIL的源碼,了解為什么Python里要存在這個GIL,過程中我會給出一些示例來幫助大家更好的理解GIL。GIL概覽有如下代碼:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/這行代碼位于Python2.7源碼ceval.c
系統 2019-09-27 17:52:42 1757
最近學習了python基礎,寫一下3大排序練練手:復制代碼代碼如下:'''Createdon2013-8-23@author:codegeek'''//冒泡排序defbubble_sort(seq):foriinrange(len(seq)):forjinrange(i,len(seq)):ifseq[j]
系統 2019-09-27 17:52:28 1757
#-*-coding:utf-8-*-importdatetime#給定日期向后N天的日期defdateadd_day(days):d1=datetime.datetime.now()d3=d1+datetime.timedelta(days)returnd3#昨天defgetYesterday():today=datetime.date.today()oneday=datetime.timedelta(days=1)yesterday=today-one
系統 2019-09-27 17:52:22 1757
3.4.5斷言斷言(assertions)的使用方式類似于if語句,只是在不滿足條件時,會直接拋出異常。類似于下面的if語句(偽代碼)ifnotcondition:#如果不滿足條件,會直接拋出異常,程序會中斷crashprogram那么究竟為什么需要這樣的代碼呢?主要原因為需要檢測程序在某個地方是否滿足條件,如果不滿足條件,應該及時通知開發人員,而不是將這些bug隱藏起來,知道關鍵的時候在崩潰。其實在TDD中經常使用斷言,TDD會在程序發現異常時執行斷言,
系統 2019-09-27 17:52:20 1757
原型模式,也是用于創建對象時的一種設計方法。主要應用場景是:每次初始化某個對象時,需要傳遞大量的參數,很不方便,此時,可以使用原型模式,在已經創建并初始化的對象基礎上,可以快速而又方便創建新的不同對象。主要原理:使用深拷貝,復制一個已創建的對象,然后使用__dict__.update()方法更新已創建對象中的參數值方式創建新對象。背景知識:在python中的類中,__dict__是一個字典,保存了所有該類中的變量,函數等參數。#coding=utf-8im
系統 2019-09-27 17:52:15 1757
2019-09-18-21:11:24(初學者不會學博客,望大家見諒見諒)今天學的內容是有關list.、dict、set集合的使用方法和注意事項list和dict在循環中不可刪,而且list在迭代輸出時進行刪除是會導致索引跟著改變所以一般list不在循環過程中進行刪除list和dict要進行刪除時,應該把要刪除的記錄到另一個列表中,然后在進行刪除深淺拷貝:淺拷貝只拷貝第一層的內容,而深拷貝是全部內容都進行了拷貝下面是總結的內容:一.重要知識點1.str.j
系統 2019-09-27 17:51:29 1757
首先,熟悉一個函數zip,如下是使用help(zip)對zip的解釋。Helponbuilt-infunctionzipinmodule__builtin__:zip(...)zip(seq1[,seq2[...]])->[(seq1[0],seq2[0]...),(...)]Returnalistoftuples,whereeachtuplecontainsthei-thelementfromeachoftheargumentsequences.Ther
系統 2019-09-27 17:51:25 1757
ubuntu系統自帶的python有多個版本,使用時難免會遇到環境變量出錯,特別是當自動化運行腳本的時候。特別是近一個月來,實驗室的小伙伴們的都傾心于python。為了幫助小伙伴們快速搭建自己的python環境,筆者寫下了這篇教程。當然,如果ubuntu自帶的python自己使用沒有問題,可以略去anaconda的安裝。AnacondaAnaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。因為包
系統 2019-09-27 17:51:20 1757
Python數據類型詳解——字符串一、定義字符串是一個有序的字符集合,用于存儲和表示基本的文本信息,用''、""、''''''中間包含的內容稱之為字符串創建:s='Helloworld!'二、特性按照從左到右的順序定義字符集合,下標從0開始順序訪問,有序。可以進行切片操作不可變,字符串是不可變的,不能想列表一樣修改其中某個元素,所有對字符串的修改操作都是相當與生成一份新的數據。字符串的單引號和雙引號都無法取消特殊字符的含義,如果想讓引號內所有的字符均取消特
系統 2019-09-27 17:51:12 1757