這里寫自定義目錄標題
- 新的改變
- 功能快捷鍵
- 合理的創建標題,有助于目錄的生成
- 如何改變文本的樣式
- 插入鏈接與圖片
- 如何插入一段漂亮的代碼片
- 生成一個適合你的列表
- 創建一個表格
- 設定內容居中、居左、居右
- SmartyPants
- 創建一個自定義列表
- 如何創建一個注腳
- 注釋也是必不可少的
- KaTeX數學公式
- 新的甘特圖功能,豐富你的文章
- UML 圖表
- FLowchart流程圖
- 導出與導入
- 導出
- 導入
Python 基礎語法相關
Python中pass語句的作用是什么?
pass語句什么也不做,一般作為占位符或者創建占位程序,pass語句不會執行任何操作。
Python是如何進行類型轉換的?
Python提供了將變量或值從一種類型轉換成另一種類型的內置函數。比如int函數能夠將符合數學格式數字型字符串轉換成整數。否則,返回錯誤信息。
Python是如何進行內存管理的?
Python引用了一個內存池(memory pool)機制,即Pymalloc機制(malloc:n.分配內存),用于管理對小塊內存的申請和釋放。
dict 的 items() 方法與 iteritems() 方法的不同?
items方法將所有的字典以列表方式返回,其中項在返回時沒有特殊的順序;
iteritems方法有相似的作用,但是返回一個迭代器對象
什么是lambda函數?它有什么好處?
編程中提到的 lambda 表達式,通常是在需要一個函數,但是又不想費神去命名一個函數的場合下使用,也就是指匿名函數。
Python允許你定義一種單行的小函數。定義lambda函數的形式如下:labmda 參數:表達式lambda函數默認返回表達式的值。你也可以將其賦值給一個變量。lambda函數可以接受任意個參數,包括可選參數,但是表達式只有一個。
說明os,sys模塊不同,并列舉常用的模塊方法?
官方解釋:
os: This module provides a portable way of usingoperating system dependent functionality.
翻譯:提供一種方便的使用操作系統函數的方法。
sys:This module provides access to some variablesused or maintained by the interpreter and to functions that interact stronglywith the interpreter.
翻譯:提供訪問由解釋器使用或維護的變量和在與解釋器交互使用到的函數。
os 常用方法
os.remove()刪除文件 os.rename()重命名文件 os.walk()生成目錄樹下的所有文件名 os.chdir()改變目錄 os.mkdir/makedirs創建目錄/多層目錄 os.rmdir/removedirs刪除目錄/多層目錄 os.listdir()列出指定目錄的文件 os.getcwd()取得當前工作目錄 os.chmod()改變目錄權限 os.path.basename()去掉目錄路徑,返回文件名 os.path.dirname()去掉文件名,返回目錄路徑 os.path.join()將分離的各部分組合成一個路徑名 os.path.split()返回(dirname(),basename())元組 os.path.splitext()(返回filename,extension)元組 os.path.getatime\ctime\mtime分別返回最近訪問、創建、修改時間 os.path.getsize()返回文件大小 os.path.exists()是否存在 os.path.isabs()是否為絕對路徑 os.path.isdir()是否為目錄 os.path.isfile()是否為文件
sys 常用方法
-
sys.argv 命令行參數List,第一個元素是程序本身路徑
-
sys.modules.keys() 返回所有已經導入的模塊列表
-
sys.exc_info() 獲取當前正在處理的異常類,exc_type、exc_value、exc_traceback當前處理的異常詳細信息
-
sys.exit(n) 退出程序,正常退出時exit(
0
)
-
sys.hexversion 獲取Python解釋程序的版本值,
16
進制格式如:
0x020403F0
-
sys.version 獲取Python解釋程序的版本信息
-
sys.maxint 最大的Int值
-
sys.maxunicode 最大的Unicode值
-
sys.modules 返回系統導入的模塊字段,key是模塊名,value是模塊
-
sys.path 返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值
-
sys.platform 返回操作系統平臺名稱
-
sys.stdout 標準輸出
-
sys.stdin 標準輸入
-
sys.stderr 錯誤輸出
-
sys.exc_clear() 用來清除當前線程所出現的當前的或最近的錯誤信息
-
sys.exec_prefix 返回平臺獨立的python文件安裝的位置
-
sys.byteorder 本地字節規則的指示器,big-endian平臺的值是
'big'
,little-endian平臺的值是
'little'
-
sys.copyright 記錄python版權相關的東西
-
sys.api_version 解釋器的C的API版本
-
sys.version_info
Python里面如何拷貝一個對象?deepcopy 和 copy的區別?
copy 僅拷貝對象本身,而不拷貝對象中引用的其它對象。
deepcopy 除拷貝對象本身,而且拷貝對象中引用的其它對象。
os.path和sys.path的區別?
os.path是module,包含了各種處理長文件名(路徑名)的函數。
sys.path是由目錄名構成的列表,Python 從中查找擴展模塊( Python 源模塊, 編譯模塊,或者二進制擴展). 啟動 Python 時,這個列表從根據內建規則,PYTHONPATH 環境變量的內容, 以及注冊表( Windows 系統)等進行初始化.
re模塊中match和search方法的不同?
match() 函數只檢查 RE 是否在字符串開始處匹配,而search() 則是掃描整個字符串。
解釋生成器(generator)與函數的不同,并實現和使用簡單generator?
生成器和函數的主要區別在于函數 return avalue,生成器 yield a value同時標記或記憶point of the yield 以便于在下次調用時從標記點恢復執行。 yield 使函數轉換成生成器,而生成器反過來又返回迭代器。
Python Web相關
解釋一下 WSGI 和 FastCGI 的關系?
CGI 全稱是“公共網關接口”(CommonGateway Interface),HTTP服務器與你的或其它機器上的程序進行“交談”的一種工具,其程序須運行在網絡服務器上。 CGI可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環境變量。如php,perl,tcl等。
?
FastCGI 像是一個常駐(long-live)型的CGI,它可以一直執行著,只要激活后,不會每次都要花費時間去fork一次(這是CGI最為人詬病的fork-and-execute模式)。它還支持分布式的運算, 即 FastCGI 程序可以在網站服務器以外的主機上執行并且接受來自其它網站服務器來的請求。
FastCGI 是語言無關的、可伸縮架構的CGI開放擴展,其主要行為是將CGI解釋器進程保持在內存中并因此獲得較高的性能。眾所周知,CGI解釋器的反復加載是CGI性能低下的主要原因,如果CGI解釋器保持在內存中并接受FastCGI進程管理器調度,則可以提供良好的性能、伸縮性、Fail- Over特性等等。
WSGI 的全稱為: PythonWeb Server Gateway Interface v1.0 (Python Web 服務器網關接口),
它是 Python 應用程序和 WEB 服務器之間的一種接口。
它的作用,類似于FCGI 或 FASTCGI 之類的協議的作用。
WSGI 的目標,是要建立一個簡單的普遍適用的服務器與 WEB 框架之間的接口。
Flup 就是使用 Python 語言對 WSGI 的一種實現,是可以用于 Python 的應用開發中的一種工具或者說是一種庫。
Spawn-fcgi是一個小程序,這個程序的作用是管理fast-cgi進程,那么管理wsgi進程也是沒有問題的,功能和php-fpm類似。
故,簡單地說,WSGI和FastCGI都是一種CGI,用于連接WEB服務器與應用程序,而WSGI專指Python應用程序。而flup是WSGI的一種實現,Spawn-fcgi是用于管理flup進程的一個工具,可以啟動多個wsgi進程,并管理它們。
解釋一下 Django 和 Tornado 的關系、差別
Django 源自一個在線新聞 Web站點,于 2005 年以開源的形式被釋放出來。
Django 框架的核心組件有:
用于創建模型的對象關系映射為最終用戶設計的完美管理界面一流的 URL 設計設計者友好的模板語言緩存系統等等
它鼓勵快速開發,并遵循MVC設計。Django遵守 BSD版權,最新發行版本是Django
1.4,于2012年03月23日發布.Django的主要目的是簡便、快速的開發數據庫驅動的網站。它強調代碼復用,多個組件可以很方便的以“插件”形式服務于整個框架,Django有許多功能強大的第三方插件,你甚至可以很方便的開發出自己的工具包。這使得Django具有很強的可擴展性。它還強調快速開發和DRY(Do Not RepeatYourself)原則。
Tornado 是 FriendFeed使用的可擴展的非阻塞式 web 服務器及其相關工具的開源版本。這個 Web 框架看起來有些像 web.py 或者 Google 的 webapp,不過為了能有效利用非阻塞式服務器環境,這個 Web 框架還包含了一些相關的有用工具和優化。
Tornado 和現在的主流 Web 服務器框架(包括大多數Python 的框架)有著明顯的區別:它是非阻塞式服務器,而且速度相當快。得利于其 非阻塞的方式和對epoll的運用,Tornado 每秒可以處理數以千計的連接,這意味著對于實時 Web服務來說,Tornado 是一個理想的 Web 框架。我們開發這個 Web 服務器的主要目的就是為了處理 FriendFeed 的實時功能 ——在 FriendFeed 的應用里每一個活動用戶都會保持著一個服務器連接。(關于如何擴容 服務器,以處理數以千計的客戶端的連接的問題。
解釋下django-debug-toolbar的使用
使用django開發站點時,可以使用django-debug-toolbar來進行調試。在settings.py中添加'debug_toolbar.middleware.DebugToolbarMiddleware'到項目的MIDDLEWARE_CLASSES 內。
解釋下Django使用redis緩存服務器
為了能在Django中使用redis,還需要安裝redis for Django的插件。然后在Django的settings中配置了?,F在連接和配置都已經完成了,接下來是一個簡單的例子:
-
from
django.conf
import
settings
-
from
django.core.cache
import
cache
-
#read cache user id
-
def
read_from_cache
(self, user_name)
:
-
key =
'user_id_of_'
+user_name
-
value = cache.get(key)
-
if
value ==
None
:
-
data =
None
-
else
:
-
data = json.loads(value)
-
return
data
-
#write cache user id
-
def
write_to_cache
(self, user_name)
:
-
key =
'user_id_of_'
+user_name
-
cache.set(key, json.dumps(user_name), settings.NEVER_REDIS_TIMEOUT)
如何進行Django單元測試
Django的單元測試使用python的unittest模塊,這個模塊使用基于類的方法來定義測試。類名為django.test.TestCase,繼承于python的unittest.TestCase。
-
from
django.test
import
TestCase
-
from
myapp.models
import
Animal
-
-
class
AnimalTestCase
(TestCase)
:
-
def
setUp
(self)
:
-
Animal.objects.create(name=
"lion"
, sound=
"roar"
)
-
Animal.objects.create(name=
"cat"
, sound=
"meow"
)
-
-
def
test_animals_can_speak
(self)
:
-
"""Animals that can speak are correctly identified"""
-
lion = Animal.objects.get(name=
"lion"
)
-
cat = Animal.objects.get(name=
"cat"
)
-
self.assertEqual(lion.speak(),
'The lion says "roar"'
)
-
self.assertEqual(cat.speak(),
'The cat says "meow"'
)
執行目錄下所有的測試(所有的test*.py文件):運行測試的時候,測試程序會在所有以test開頭的文件中查找所有的test cases(inittest.TestCase的子類),自動建立測試集然后運行測試。
$ python manage.py test
執行animals項目下tests包里的測試:
$ python manage.py testanimals.tests
執行animals項目里的test測試:
$ python manage.py testanimals
單獨執行某個test case:
$ python manage.py testanimals.tests.AnimalTestCase
單獨執行某個測試方法:
$ python manage.py testanimals.tests.AnimalTestCase.test_animals_can_speak
為測試文件提供路徑:
$ python manage.py testanimals/
通配測試文件名:
$ python manage.py test--pattern=
"tests_*.py"
啟用warnings提醒:
$ python -Wall manage.py test
解釋下Http協議
HTTP是一個屬于應用層的面向對象的協議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統。
HTTP協議的主要特點可概括如下:
1.支持客戶/服務器模式。
2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯系的類型不同。由于HTTP協議簡單,使得HTTP服務器的程序規模小,因而通信速度很快。
3.靈活:HTTP允許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。
4.無連接:無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,并收到客戶的應答后,即斷開連接。采用這種方式可以節省傳輸時間。
5.無狀態:HTTP協議是無狀態協議。無狀態是指協議對于事務處理沒有記憶能力。缺少狀態意味著如果后續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在服務器不需要先前信息時它的應答就較快。
解釋下Http請求頭和常見響應狀態碼
Accept:指瀏覽器或其他客戶可以接愛的MIME文件格式。可以根據它判斷并返回適當的文件格式。
Accept-Charset:指出瀏覽器可以接受的字符編碼。英文瀏覽器的默認值是ISO-8859-1.
Accept-Language:指出瀏覽器可以接受的語言種類,如en或en-us,指英語。
Accept-Encoding:指出瀏覽器可以接受的編碼方式。編碼方式不同于文件格式,它是為了壓縮文件并加速文件傳遞速度。瀏覽器在接收到Web響應之后先解碼,然后再檢查文件格式。
Cache-Control:設置關于請求被代理服務器存儲的相關選項。一般用不到。
Connection:用來告訴服務器是否可以維持固定的HTTP連接。HTTP/1.1使用Keep-Alive為默認值,這樣,當瀏覽器需要多個文件時(比如一個HTML文件和相關的圖形文件),不需要每次都建立連接。
Content-Type:用來表名request的內容類型??梢杂肏ttpServletRequest的getContentType()方法取得。
Cookie:瀏覽器用這個屬性向服務器發送Cookie。Cookie是在瀏覽器中寄存的小型數據體,它可以記載和服務器相關的用戶信息,也可以用來實現會話功能。
?
狀態代碼有三位數字組成,第一個數字定義了響應的類別,且有五種可能取值:
1xx:指示信息--表示請求已接收,繼續處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重定向--要完成請求必須進行更進一步的操作
4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
5xx:服務器端錯誤--服務器未能實現合法的請求
常見狀態代碼、狀態描述、說明:
200 OK?????//客戶端請求成功
400 Bad Request? //客戶端請求有語法錯誤,不能被服務器所理解
401 Unauthorized //請求未經授權,這個狀態代碼必須和WWW-Authenticate報頭域一起使用
403 Forbidden? //服務器收到請求,但是拒絕提供服務
404 Not Found? //請求資源不存在,eg:輸入了錯誤的URL
500 Internal Server Error //服務器發生不可預期的錯誤
503 Server Unavailable? //服務器當前不能處理客戶端的請求,一段時間后可能恢復正常
eg:HTTP/1.1 200 OK (CRLF)
# 歡迎使用Markdown編輯器你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,了解一下Markdown的基本語法知識。
新的改變
我們對Markdown編輯器進行了一些功能拓展與語法支持,除了標準的Markdown編輯器功能,我們增加了如下幾點新功能,幫助你用它寫博客:
- 全新的界面設計 ,將會帶來全新的寫作體驗;
- 在創作中心設置你喜愛的代碼高亮樣式,Markdown 將代碼片顯示選擇的高亮樣式 進行展示;
- 增加了 圖片拖拽 功能,你可以將本地的圖片直接拖拽到編輯區域直接展示;
- 全新的 KaTeX數學公式 語法;
- 增加了支持 甘特圖的mermaid語法 1 功能;
- 增加了 多屏幕編輯 Markdown文章功能;
- 增加了 焦點寫作模式、預覽模式、簡潔寫作模式、左右區域同步滾輪設置 等功能,功能按鈕位于編輯區域與預覽區域中間;
- 增加了 檢查列表 功能。
功能快捷鍵
撤銷:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜體:Ctrl/Command + I
標題:Ctrl/Command + Shift + H
無序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
檢查列表:Ctrl/Command + Shift + C
插入代碼:Ctrl/Command + Shift + K
插入鏈接:Ctrl/Command + Shift + L
插入圖片:Ctrl/Command + Shift + G
合理的創建標題,有助于目錄的生成
直接輸入1次#,并按下space后,將生成1級標題。
輸入2次#,并按下space后,將生成2級標題。
以此類推,我們支持6級標題。有助于使用
TOC
語法后生成一個完美的目錄。
如何改變文本的樣式
強調文本 強調文本
加粗文本 加粗文本
標記文本
刪除文本
引用文本
H 2 O is是液體。
2 10 運算結果是 1024.
插入鏈接與圖片
鏈接: link.
當然,我們為了讓用戶更加便捷,我們增加了圖片拖拽功能。
如何插入一段漂亮的代碼片
去博客設置頁面,選擇一款你喜歡的代碼片高亮樣式,下面展示同樣高亮的
代碼片
.
// An highlighted block
var
foo
=
'bar'
;
生成一個適合你的列表
-
項目
-
項目
- 項目
-
項目
- 項目1
- 項目2
- 項目3
- 計劃任務
- 完成任務
創建一個表格
一個簡單的表格是這么創建的:
項目 | Value |
---|---|
電腦 | $1600 |
手機 | $12 |
導管 | $1 |
設定內容居中、居左、居右
使用
:---------:
居中
使用
:----------
居左
使用
----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants將ASCII標點字符轉換為“智能”印刷標點HTML實體。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks |
'Isn't this fun?'
|
‘Isn’t this fun?’ |
Quotes |
"Isn't this fun?"
|
“Isn’t this fun?” |
Dashes |
-- is en-dash, --- is em-dash
|
– is en-dash, — is em-dash |
創建一個自定義列表
- Markdown
- Text-to- HTML conversion tool
- Authors
- John
- Luke
如何創建一個注腳
一個具有注腳的文本。 2
注釋也是必不可少的
Markdown將文本轉換為 HTML 。
KaTeX數學公式
您可以使用渲染LaTeX數學表達式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n ? 1 ) ! ? n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ ( n ) = ( n ? 1 ) ! ? n ∈ N 是通過歐拉積分
Γ ( z ) = ∫ 0 ∞ t z ? 1 e ? t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ ( z ) = ∫ 0 ∞ ? t z ? 1 e ? t d t .
你可以找到更多關于的信息 LaTeX 數學表達式here.
新的甘特圖功能,豐富你的文章
- 關于 甘特圖 語法,參考 這兒,
UML 圖表
可以使用UML圖表進行渲染。 Mermaid. 例如下面產生的一個序列圖::
這將產生一個流程圖。:
- 關于 Mermaid 語法,參考 這兒,
FLowchart流程圖
我們依舊會支持flowchart的流程圖:
- 關于 Flowchart流程圖 語法,參考 這兒.
導出與導入
導出
如果你想嘗試使用此編輯器, 你可以在此篇文章任意編輯。當你完成了一篇文章的寫作, 在上方工具欄找到 文章導出 ,生成一個.md文件或者.html文件進行本地保存。
導入
如果你想加載一篇你寫過的.md文件或者.html文件,在上方工具欄可以選擇導入功能進行對應擴展名的文件導入,
繼續你的創作。
-
mermaid語法說明 ??
-
注腳的解釋 ??
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
