Python語言因為簡潔而清晰的風格,有大量適用性甚廣的類別庫和python開源框架可以使用,而受到許多IT界人士的喜愛。 Python的由來及發展歷程又是怎樣的呢,下面我們來簡單的了解下。
追溯Python語言的起源,是從20世紀90年代初由Guido van Rossum,在阿姆斯特丹,發展一個新的腳本解釋程序。不知道Guido當初有沒有想到,Python有一天會成為最受歡迎的程式設計語言之一?
有些人喜歡用膠水語言來形容Python,是因為它可以很輕鬆的把許多其它語言編寫的模組結合在一起,至於過程這裡不多講,如果你感興趣隨處都可以查到。要知道的是,國內外的許多高校也把python語言做為必修課來學習,並且國內的使用Python語言來工作的單位數量也在增加,會python的程式設計師可是炙手可熱啊。
問那些學過Python語言的朋友們,它有哪些吸引人的地方呢?大多數人會這麼認為,它是一門容易上手,易讀同時也易維護的語言,所以才會有許許多多的用戶喜歡使用和學習,它真的是一門用途廣泛的語言。
Python語言最基本語法有:縮排、控制語句、表達式、函數、物件方法、類型和數學運算。只有在學習了python基礎的語法之後,才可以開始正式應用的學習,如:圖形處理、數學處理、文字處理、資料庫、WEB程式設計、爬蟲等等的實際應用。
python 3.3是目前最新的版本,但是很多人還是喜歡從python 2開始學習。因為之前也有講過python 3的第三方支援還不完善,學習過程中會遇到莫名的問題。不如從已經很完善的python 2開始學習。之後過渡到python 3也是很簡單的。
#由上圖可見,python語言使用率呈現上升趨勢,而排名前三的語言使用率呈下降趨勢。
優點:
Python的定位是「優雅」、 “明確”、“簡單”,所以Python程式看起來總是簡單易懂,初學者學Python,不僅入門容易,而且將來深入下去,可以編寫那些非常非常複雜的程式。
開發效率非常高,Python有非常強大的第三方函式庫,基本上你想透過電腦實現任何功能,Python官方庫裡都有相應的模組來支持,直接下載呼叫後,在基礎函式庫的基礎上再進行開發,大幅降低開發週期,避免重複造輪子。
高階語言————當你用Python語言寫程式的時候,你不需要考慮諸如如何管理你的程式所使用的記憶體一類的底層細節
可移植性--由於它的開源本質,Python已經被移植在許多平台上(經過改動使它能夠工作在不同平台上)。如果你小心地避免使用依賴系統的特性,那麼你的所有Python程式無需修改就幾乎可以在市場上所有的系統平台上運行
可擴展性——— —如果你需要你的一段關鍵程式碼運行得更快或希望某些演算法不公開,你可以把你的部分程式用C或C++編寫,然後在你的Python程式中使用它們。
可嵌入性————你可以把Python嵌入你的C/C++程序,從而向你的程式使用者提供腳本功能。
缺點:
速度慢,Python 的運行速度相比C語言確實慢很多,跟JAVA相比也要慢一些,因此這也是許多所謂的大牛不屑於使用Python的主要原因,但其實這裡所指的運行速度慢在大多數情況下用戶是無法直接感知到的,必須藉助測試工具才能體現出來,比如你用C運一個程式花了0.01s,用Python是0.1s,這樣C語言直接比Python快了10倍,算是非常誇張了,但是你是無法直接透過肉眼感知的,因為一個正常人所能感知的時間最小單位是0.15-0.4s左右,哈哈。其實在大多數情況下Python已經完全可以滿足你對程式速度的要求,除非你要寫對速度要求極高的搜尋引擎等,這種情況下,當然還是建議你用C去實現的。
程式碼不能加密,因為PYTHON是解釋性語言,它的源碼都是以名文形式存放的,不過我不認為這算是一個缺點,如果你的專案要求來源程式碼必須是加密的,那你一開始就不應該用Python來去實作。
線程不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全域解釋器鎖(Global Interpreter Lock),是電腦程式設計語言解釋器用於同步執行緒的工具,使得任何時刻只有一個執行緒在執行,Python的執行緒是作業系統的原生執行緒。在Linux上為pthread,在Windows上為Win thread,完全由作業系統調度執行緒的執行。一個python解釋器進程內有一條主線程,以及多條用戶程式的執行線程。即使在多核心CPU平台上,由於GIL的存在,所以禁止多執行緒的並行執行。關於這個問題的折衷解決方法,我們在以後線程和進程章節裡再進行詳細探討。
1、下载安装包 2、安装 安装在C:\Python36 3、配置环境变量 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用;分割】
1.解压 tar xf Python-3.6.2.tgz 2.编译安装 cd Python-3.6.2 ./configure --prefix=/usr/local/Python3.6 make make install 3.配置环境变量 vim /etc/profile PATH=/usr/local/Python3.6/bin:$PATH source /etc/profile 4.测试 python3.6
#開啟pycharm,新建python項目,新建python檔案。
#!/usr/binl/env python #encoding: utf-8 #author: YangLei print("hello,world")
變數來自數學,是電腦語言中能儲存計算結果或能表示值抽象概念。變數可以透過變數名存取。在指令式語言中,變數通常是可變的;但在純函數式語言(如Haskell)中,變數可能是不可變(immutable)的。在某些語言中,變數可能被明確為是能表示可變狀態、具有儲存空間的抽象(如在Java和Visual Basic中);但其他語言可能使用其它概念(如C的物件)來指稱這種抽象,而不嚴格地定義「變數」的準確外延。
宣告變數
#!/usr/binl/env python #encoding: utf-8 #author: YangLei name = "yanglei" print(name)
上述程式碼宣告了一個變量,變數名稱為: name,變數name的值為:"yanglei"
變數定義的規則:
#變數名稱只能是字母、數字或底線的任意組合
變數名的第一個字元不能是數字
以下關鍵字不能宣告為變數名稱['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']
#
#!/usr/binl/env python #encoding: utf-8 #author: YangLei input_name = input("Please enter your name: ") print("hi,%s" % input_name)
"hello world"
#!/usr/binl/env python #encoding: utf-8 #author: YangLei name = "yanglei" print("hi,%s" % name) #输出hi,yanglei
注:字符串是 %s;整数 %d;浮点数%f
移除空白
分割
长度
索引
切片
#!/usr/binl/env python #encoding: utf-8 #author: YangLei name = ["yanglei","jack","marry","andy"]
基本操作:
索引
切片
追加
删除
长度
切片
循环
包含
5、字典(无序)
#!/usr/binl/env python #encoding: utf-8 #author: YangLei user_info = {"name":"yanglei","age":23,"job":"IT"}
常用操作:
索引
新增
删除
键、值、键值对
循环
长度
比较运算:
赋值运算:
逻辑运算:
成员运算:
身份运算:
位运算:
运算符优先级:
场景一、用户登陆验证
#!/usr/binl/env python #encoding: utf-8 #author: YangLei input_user = input("Please enter your user name: ") input_password = input("Please enter your password: ") if input_user == "yanglei" and input_password == "123456": print("\033[32;1m%s login successfully\33[0m" % input_user) else: print("\033[31;1mThe user name or password error,please try again\033[0m")
场景二、猜年龄游戏
在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了
#!/usr/binl/env python #encoding: utf-8 #author: YangLei guess_age = 50 input_age = int(input("Please enter your guess age: ")) if input_age > guess_age: print("\033[31;1mCan you guess what big\33[0m") elif input_age < guess_age: print("\033[31;1mCan you guess what small\33[0m") else: print("\033[32;1mYou guessed it\33[0m")
外层变量,可以被内层代码使用
#!/usr/binl/env python #encoding: utf-8 #author: YangLei count = 1 while count <= 10: if count == 5: count += 1 continue print(count) count += 1
#!/usr/binl/env python #encoding: utf-8 #author: YangLei count = 1 while count <= 10: if count == 5: count += 1 break print(count) count += 1
由此可以看出continue是跳出当前循环,而break是跳出本层循环。
场景一、用户登陆验证升级
#!/usr/bin/env pyhon #encoding: utf-8 #auth: yanglei count = 0 while count < 3: input_user = input("Please enter your user name: ") input_password = input("Please enter your password: ") if input_user == "yanglei" and input_password == "123456": print("\033[32;1m%s login successfully\33[0m" % input_user) break elif count == 2: print("\033[31;1mThe user name or password mistake,three chances to use up,the program exits\33[0m") break else: count += 1 print("\033[31;1mThe user name or password error,please try again\033[0m")
场景二、猜年龄游戏升级
#!/usr/bin/env pyhon #encoding: utf-8 #auth: yanglei guess_age = 50 count = 0 while count <= 3: if count == 3: input_choose = input("Do you want to continue to play?(Y or y|N or n)") if input_choose == "Y" or input_choose == "y": count = 0 continue elif input_choose == "N" or input_choose == "n": break else: print("\033[31;1mAre you input errors!\33[0m") continue input_age = int(input("Please enter your guess age: ")) if input_age > guess_age: print("\033[31;1mCan you guess what big\33[0m") count += 1 elif input_age < guess_age: print("\033[31;1mCan you guess what small\33[0m") count += 1 else: print("\033[32;1mYou guessed it\33[0m") break
以上是Python的由來與使用介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!