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已經被移植在許多平台上(經過改動使它能夠工作在不同平台上)。如果你小心地避免使用依賴系統的特性,那麼你的所有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的存在,所以禁止多執行緒的並行執行。關於這個問題的折衷解決方法,我們在以後線程和進程章節裡再進行詳細探討。
#二、Python安裝
windows
1、下载安装包 2、安装 安装在C:\Python36 3、配置环境变量 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用;分割】
linux:
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
三、第一個程式(hello,world)
#開啟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)六、資料型別1、數字#int(整數) 在32位元機器上,整數的位數為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647 在64位系統上,整數的位數為64位,取值範圍為-2**63 ~2**63-1,即-9223372036854775808~9223372036854775807long(長整型) 遠跟語言不同,Pyt位元的長整數長整數數值的大小,但實際上由於機器記憶體有限,我們使用的長整數數值不可能無限大。 注意,自從Python2.2起,如果整數發生溢出,Python會自動將整數資料轉換為長整數,所以如今在長整數資料後面不加字母L也不會導致嚴重後果了。
"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"}
常用操作:
索引
新增
删除
键、值、键值对
循环
长度
七、数据运算
比较运算:
赋值运算:
逻辑运算:
成员运算:
身份运算:
位运算:
运算符优先级:
八、if判断
场景一、用户登陆验证
#!/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")
外层变量,可以被内层代码使用
九、break和continue的区别
continue:
#!/usr/binl/env python #encoding: utf-8 #author: YangLei count = 1 while count <= 10: if count == 5: count += 1 continue print(count) count += 1
break:
#!/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是跳出本层循环。
十、while循环
场景一、用户登陆验证升级
#!/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中文網其他相關文章!

每天學習Python兩個小時是否足夠?這取決於你的目標和學習方法。 1)制定清晰的學習計劃,2)選擇合適的學習資源和方法,3)動手實踐和復習鞏固,可以在這段時間內逐步掌握Python的基本知識和高級功能。

Python在Web開發中的關鍵應用包括使用Django和Flask框架、API開發、數據分析與可視化、機器學習與AI、以及性能優化。 1.Django和Flask框架:Django適合快速開發複雜應用,Flask適用於小型或高度自定義項目。 2.API開發:使用Flask或DjangoRESTFramework構建RESTfulAPI。 3.數據分析與可視化:利用Python處理數據並通過Web界面展示。 4.機器學習與AI:Python用於構建智能Web應用。 5.性能優化:通過異步編程、緩存和代碼優

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。

Python在現實世界中的應用包括數據分析、Web開發、人工智能和自動化。 1)在數據分析中,Python使用Pandas和Matplotlib處理和可視化數據。 2)Web開發中,Django和Flask框架簡化了Web應用的創建。 3)人工智能領域,TensorFlow和PyTorch用於構建和訓練模型。 4)自動化方面,Python腳本可用於復製文件等任務。

Python在數據科學、Web開發和自動化腳本領域廣泛應用。 1)在數據科學中,Python通過NumPy、Pandas等庫簡化數據處理和分析。 2)在Web開發中,Django和Flask框架使開發者能快速構建應用。 3)在自動化腳本中,Python的簡潔性和標準庫使其成為理想選擇。

Python的靈活性體現在多範式支持和動態類型系統,易用性則源於語法簡潔和豐富的標準庫。 1.靈活性:支持面向對象、函數式和過程式編程,動態類型系統提高開發效率。 2.易用性:語法接近自然語言,標準庫涵蓋廣泛功能,簡化開發過程。

Python因其簡潔與強大而備受青睞,適用於從初學者到高級開發者的各種需求。其多功能性體現在:1)易學易用,語法簡單;2)豐富的庫和框架,如NumPy、Pandas等;3)跨平台支持,可在多種操作系統上運行;4)適合腳本和自動化任務,提升工作效率。

可以,在每天花費兩個小時的時間內學會Python。 1.制定合理的學習計劃,2.選擇合適的學習資源,3.通過實踐鞏固所學知識,這些步驟能幫助你在短時間內掌握Python。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版