Python介紹html
一、python是解釋性語言,並且語法優美、清晰、簡單,是一種優秀並普遍使用的語言java
二、python主要應用領域:①雲計算(典型的應用OpenStack)②WEB開發(如Youtube,豆瓣...典型框架Django)③科學運算、人工智能(典型庫NumPy、SciPy)④系統運維(運維人員必備語言)python
⑤金融:量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,並且重要性逐年提升。緣由:做爲動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高於c,c++,java,尤爲擅長策略回測 ⑥圖形GUI:PyQT、WxPython、TkInterlinux
三、python的優缺點:c++
優勢:①定位「優雅」、「明確」、「簡單」。入門容易,能夠編寫很是複雜的程序算法
②開發效率很是高,python有很是強大的第三方庫,python官方庫有全面的支持,可在基礎庫的基礎上再進行開發,大大下降了開發週期。shell
③高級語言,④可移植性,可輕鬆在不一樣的平臺上運行windows
⑤可擴展性:須要功能代碼運行的更快或某些算法不須要公開,可使用C/C++編寫後,使用python來調用網絡
⑥可嵌入性: 可把python嵌入C/C++程序,從而向你的程序用戶提供腳本功能多線程
缺點:①速度慢:python跟java相比也要慢一些,但大多數狀況下徹底能夠知足你對程序速度的要求,除非要寫對程序速度要求極高的搜索引擎等。
②代碼不能加密:由於python是解釋性語言,它的源碼都是以明文的形式存放。
③線程不能利用多CPU問題,,這是Python被人詬病最多的一個缺點,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設計語言解釋器用於同步線程的工具,使得任什麼時候刻僅有一個線程在執行,Python的線程是操做系統的原生線程。在Linux上爲pthread,在Windows上爲Win thread,徹底由操做系統調度線程的執行。一個python解釋器進程內有一條主線程,以及多條用戶程序的執行線程。即便在多核CPU平臺上,因爲GIL的存在,因此禁止多線程的並行執行。
四、python解釋器
python的解釋器不少,如CPython、IPython、PyPy、Jython、IronPython,但使用最普遍的仍是Cpython,若是要和Java或.Net平臺交互,最好的辦法不是JPython和IronPython,而是經過網絡來調用來交互,確保程序之間的獨立性
五、python版本:
python2.X 和python3.X,區別在於語句的寫法不一致,2.7會支持到2020年,會被3.4+取代
Python安裝
windows
一、下載安裝包 https://www.python.org/downloads/ 二、安裝 默認安裝路徑:C:\python27 三、配置環境變量 【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名爲Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用 ; 分割】 如:原來的值;C:\python27,切記前面有分號
linux、mac
無需安裝,原裝Python環境 ps:若是自帶2.6,請更新至2.7
Python基礎學習
一、建立文件如hello.py,並輸入
print("hello world")
二、而後輸入命令:python hello.py,輸出 hello world
上一步中執行python hello.py時,即hello.py腳本是由python解釋器來執行
若是想要相似於執行shell腳本同樣執行python腳本,須要再hello.py文件的頭部指定的解釋器,以下:
#!/usr/bin/env python print ("hello wprld")
ps:執行前需給予hello.py執行權限,chmod 755 hello.py
在交互器中執行
C:\Users\chendezhi>python Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print("hello world") hello world
變量、字符編碼
聲明變量
name = "chendz"
變量定義的規則:
變量名只能是字母、數字或下劃線的任意組合
變量名的第一個字符不能是數字
如下關鍵字不能聲明爲變量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
變量的賦值
name = "chendz" name2 = name print(name,name2) name = "jack"
字符編碼
ASCII:最多隻能用8爲來表示一個字節,即2**8=255,ASCII碼最多隻能表示255個字符
中文編碼:>>GB2312(1980年)收錄了7445個字符,包括6763個漢字和682個其餘字符。
>>GBK(1995年)收錄了21886個符號
>>GB18030(2000年)收錄了27484漢字
從ASCII->GB18030,這些編碼方法是向下兼容的
Unicode(統一碼)是一種在計算機上使用的字符編碼。十六位,最少2個字節
UTF-8:是對Unicode編碼的壓縮和優化
python解釋器在加載.py文件中的代碼時,會對內容進行編碼(默認ASCII),
在2.X中,若是是以下代碼的化,會保錯,ASCII碼沒法表示中文
#!/usr/bin/env python print "你好,世界"
應該告訴python解釋器,須要用什麼編碼執行
#!/usr/bin/env python # -*- coding: utf-8 -*- print "你好,世界"
註釋
單行註釋:使用 #
多行註釋:使用 """ 被註釋的內容 """
用戶輸入
#name = raw_input("What is your name?") #only on python 2.x name = input("What is your name?") print("Hello " + name )
輸入密碼時,若是想要不可見,須要利用getpass模塊中的getpass方法,即:
import getpass # 將用戶輸入的內容賦值給 name 變量 pwd = getpass.getpass("請輸入密碼:") # 打印輸入的內容 print(pwd)
python基礎語法
表達式 if..else
name = input("請輸入用戶名")
pwd = int(input("請輸入密碼"))
if name == "chendz" and pwd == 123:
print("登錄成功")
elif name =="" or pwd == "":
print("用戶名和密碼不能爲空字符串")
else:
print("用戶名或密碼錯誤")
表達式 for
for i in range(0,10,2): print("loop",i)
表達式 while
age = 18 count = 3 while count > 0: guess_age = int(input("guess age:")) if guess_age == age: print("ok") break elif guess_age >age: print("think smaller...") else: print("think bigger...") count-=1 else: print("you have tried too many times.")