初始python之基礎一java
1、Python 介紹python
一、python的創始人爲吉多·範羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·範羅蘇姆爲了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,做爲ABC語言的一種繼承,python是一種面向對象,直譯式的計算機程序語言,Python崇尚優美、清晰、簡單,是一個優秀並普遍使用的語言。linux
2、Python主要應用領域:c++
•雲計算: 雲計算最火的語言, 典型應用OpenStack算法
•WEB開發: 衆多優秀的WEB框架,衆多大型網站均爲Python開發,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Djangoshell
•科學運算、人工智能: 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandasvim
•系統運維: 運維人員必備語言windows
•金融:量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,並且重要性逐年提升。緣由:做爲動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高於c,c++,java,尤爲擅長策略回測多線程
•圖形GUI: PyQT, WxPython,TkInter框架
3、Python的優缺點:
優勢:
•Python的定位是「優雅」、「明確」、「簡單」,因此Python程序看上去老是簡單易懂,初學者學Python,不但入門容易,並且未來深刻下去,能夠編寫那些很是很是複雜的程序。
•開發效率很是高,Python有很是強大的第三方庫,基本上你想經過計算機實現任何功能,Python官方庫裏都有相應的模塊進行支持,直接下載調用後,在基礎庫的基礎上再進行開發,大大下降開發週期,避免重複造輪子
•高級語言-----當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節
•可移植性-----因爲它的開源本質,Python已經被移植在許多平臺上(通過改動使它可以工 做在不一樣平臺上)。若是你當心地避免使用依賴於系統的特性,那麼你的全部Python程序無需修改就幾乎能夠在市場上全部的系統平臺上運行
•可擴展性-----若是你須要你的一段關鍵代碼運行得更快或者但願某些算法不公開,你能夠把你的部分程序用C或C++編寫,而後在你的Python程序中使用它們。
•可嵌入性-----你能夠把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能
缺點:
•速度慢-----Python 的運行速度相比C語言確實慢不少,跟JAVA相比也要慢一些,所以這也是不少所謂的大牛不屑於使用Python的主要緣由,但其實這裏所指的運行速度慢在大多數狀況下用戶是沒法直接感知到的,必須藉助測試工具才能體現出來,
•代碼不能加密-----由於PYTHON是解釋性語言,它的源碼都是以名文形式存放的,不過我不認爲這算是一個缺點,若是你的項目要求源代碼必須是加密的,那你一開始就不該該用Python來去實現
•線程不能利用多CPU問題-----這是Python被人詬病最多的一個缺點,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設計語言解釋器用於同步線程的工具,使得 任什麼時候刻僅有一個線程在執行,Python的線程是操做系統的原生線程。在Linux上爲pthread,在Windows上爲Win thread,徹底由操做系統調度線程的執行。一個python解釋器進程內有一條主線程,以及多條用戶程序的執行線程。即便在多核CPU平臺上,因爲GIL的存在,因此禁止多線程的並行執行
4、Python安裝部署
一、windows下安裝:
下載安裝包:Python3.5 for windows
1.一、安裝
默認安裝路徑:C:\python27
1.2
、配置環境變量
右鍵計算機】
-
-
》【屬性】
-
-
》【高級系統設置】
-
-
》【高級】
-
-
》【環境變量】
-
-
》【在第二個內容框中找到 變量名爲Path 的一行,雙擊】
-
-
> 【Python安裝目錄追加到變值值中,用 ; 分割】
如:原來的值;C:\python27,切記前面有分號
python -V
yum -y install gcc
cd python3.5.2
./configure
#make all
#make install
2.五、查看版本
#/usr/local/bin/python3.5 -V
Python 3.5.2
2.六、修改默認Python版本
#mv /usr/bin/python /usr/bin/python2.6
#ln -s /usr/local/bin/python3.5 /usr/bin/python
5、Python 快速入門
在linux 下建立一個文件叫hello.py,並輸入
#vim hello.py
print ("Hello World!")
執行:
[root@home python]# python hello.py
Hello World!
指定解釋器:
hello.py 腳本由 python 解釋器來執行。若是想要相似於執行shell腳本同樣執行python腳本,例: ./hello.py
,須要在hello.py 文件的頭部指定解釋器,以下:
#!/usr/bin/evn python
print ("Hello World!")
執行:# ./hello.py
便可。
ps:執行前需給予 hello.py 執行權限,chmod 755 hello.py
6、Python 變量
變量用來存儲信息,在後面能夠被程序調用,而且標識名稱和類型。主要的功能,命名,而且存儲至內存。
一、聲明變量:
#_*_coding:utf-8_*_
name
=
"lili"
變量的做用:暱稱,其代指內存裏某個地址中保存的內容
二、變量定義的規則:
•變量名只能是 字母、數字或下劃線的任意組合
•變量名的第一個字符不能是數字
如下關鍵字不能聲明爲變量名:
['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 = "lili"
name1 = name
print (name,name1)
執行結果:
admin admin
7、Python 字符編碼python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill)
ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其餘西歐語言,其最多隻能用 8 位來表示(一個字節),即:2**8 = 256-1,因此,ASCII碼最多隻能表示 255 個符號。
顯然ASCII碼沒法將世界上的各類文字和符號所有表示,因此,就須要新出一種能夠表明全部字符和符號的編碼,即:Unicode
Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是爲了解決傳統的字符編碼方案的侷限而產生的,它爲每種語言中的每一個字符設定了統一而且惟一的二進制編碼,規定雖有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536,
注:此處說的是最少2個字節,可能更多
UTF-8,是對Unicode編碼的壓縮和優化,他再也不使用最少使用2個字節,而是將全部的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3 個字節保存...
因此,python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill),若是是以下代碼的話:
報錯:ascii碼沒法表示中文
#!/usr/bin/env python
#print
"你好,世界"
改正:應該顯示的告訴python解釋器,用什麼編碼來執行源代碼,即:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print
"你好,世界"
#每行最多不能超過80個字符
hello wolrd
hello wolrd
name = input("name:")
age= input("age:")
job = input("job:")
hobby = input("Hobby:")
info = '''
------ info of %s ---------
Name:%s
Age:%s
job:%s
Hobby:%s
-------- end --------------
'''%(name,name,age,job,hobby)
print(info)
9、Python流程控制
用戶登錄驗證:
username = "lili"
password = "admin"
username = input("username:")
password = input("password:")
if username == "lili" and password =="admin"
print ("welcome %s to my home! %username ")
else:
print ("wrong username or password")