python真的是萬惡之源麼?
計算機基礎及puthon瞭解
1.計算機基礎知識
-
cpu : 相當於人類大腦,運算和處理問題
-
內存 : 臨時存儲數據,單點就消失,4G,8G,16G,32G
-
硬盤 : 永久存儲數據
-
操作系統 : 實際上是管理計算機內存的分配,分頁分段,計算機資源的供需優先分配,控制輸入輸出設備的一種計算機程序,簡單來講操作系統是一個程序,控制每一個硬件之間的數據交互.
2.python的應用和歷史
-
python的創始人爲吉多·範羅蘇姆
-
python主要崇尚的市優美,清晰,簡單,並且功能全面,易學易懂,可擴展的語言.
-
目前puthon的主要應用領域
- 雲計算 : 雲計算最火的語言, 典型應用OpenStack
- WEB開發 : 衆多優秀的WEB框架,衆多大型網站均爲Python開發,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
- 科學運算 : 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
- 系統運維 : 運維人員必備語言
- 爬蟲 : 通過代碼來模擬人類訪問網頁,選擇有用信息進行下載
- 金融 : 量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作爲動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高於c,c++,java,尤其擅長策略回測
- 圖像GUI : PyQT, WxPython,TkInter
4.python在一些公司的應用
- 谷歌 : Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲、Google廣告等項目都在大量使用Python開發
- CIA : 美國中情局網站就是用Python開發的
- NASA : 美國航天局(NASA)大量使用Python進行數據分析和運算
- YouTube : 世界上最大的視頻網站YouTube就是用Python開發的
- Dropbox : 美國最大的在線雲存儲網站,全部用Python實現,每天網站處理10億個文件的上傳和下載
- Instagram : 美國最大的圖片分享社交網站,每天超過3千萬張照片被分享,全部用python開發
- Facebook : 大量的基礎庫均通過Python實現的
- Redhat : 世界上最流行的Linux發行版本中的yum包管理工具就是用python開發的
- 豆瓣 : 公司幾乎所有的業務均是通過Python開發的
- 知乎 : 國內最大的問答社區,通過Python開發(國外Quora)
- 春雨醫生 : 國內知名的在線醫療網站是用Python開發的
除上面之外,還有搜狐、金山、騰訊、盛大、網易、百度、阿里、淘寶 、土豆、新浪、果殼等公司都在使用Python完成各種各樣的任務。
5.python發展史
-
Django (2004年誕生)
-
python2
C,java,c #功能重複,維護難度大
-
python3 (2008年誕生)
源碼統一,沒有重複代碼(功能),維護難度降低
3.python是一個什麼編程語言
-
計算機語言分爲編譯型,和解釋型語言兩種
-
編譯型 : 只編譯一次
優點 : 運行速度快
缺點 : 開發速度慢
代表語言 : C,C++
-
解釋型 : 一句一句翻譯,逐行翻譯
優點 : 開發速度快
缺點 : 運行速度慢
代表語言 : php python
-
-
Python是動態語言,是強類型定義語言(類型安全的語言); VBScript是動態語言,是弱類型定義語言(類型不安全的語言); JAVA是靜態語言,是強類型定義語言(類型安全的語言)。
總結 : python是一門動態解釋性的強類型定義解釋型語言
4.python的優缺點
-
python優點
- Python的定位是“優雅”、“明確”、“簡單”,所以Python程序看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常複雜的程序。
- 開發效率非常高,Python有非常強大的第三方庫,基本上你想通過計算機實現任何功能,Python官方庫裏都有相應的模塊進行支持,直接下載調用後,在基礎庫的基礎上再進行開發,大大降低開發週期,避免重複造輪子。
- 高級語言 : 當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節
- 可移植性 : 由於它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工 作在不同平臺上)。如果你小心地避免使用依賴於系統的特性,那麼你的所有Python程序無需修改就幾乎可以在市場上所有的系統平臺上運行
- 可擴展性 : 如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然後在你的Python程序中使用它們。
- 可嵌入性 : 你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。
2.python缺點
- 相對於C運行速度慢
- 代碼不能加密
- 不能利用多線程
5.python的種類
-
Cpython
Python的官方版本,使用C語言實現,使用最爲廣泛,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),然後運行在Python虛擬機上。
-
Jython
Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,然後在JVM上運行。
-
Ironpython
Python的C#實現,IronPython將Python代碼編譯成C#字節碼,然後在CLR上運行。(與Jython類似)
-
pypy(特殊)
Python實現的Python,將Python的字節碼字節碼再編譯成機器碼,動態編譯,開發快,運行快.
6.寫一個python程序
-
print() 打印
print("Hello,world!")#全部使用英文符號
7.變量
- 變量的作用 : 作爲一個臨時存儲的中間值,暱稱其代指內存裏某個地址中保存的內容.
- a=1 這個變量的運行過程如下
- 起了一個變量名 : a
- 有一個值 : 1
- 將值賦給變量名 : =
- 定義變量的規則:
- 字母,數字,下劃線組成
- 不能以數字開頭
- 不能使用python的關鍵字命名
- 不要用中文或拼音
- 區分大小寫
- 變量名要具有意義
- 推薦用駝峯體或下劃線方式
8.常量
意義 : 常量就是將變量名大寫,儘量保持不更改的一種量
例子 : ALEX_AGE=50
9.註釋
- 意義 : 給一些不太能夠理解的寫一個描述,讓自己或他人更好的理解其含義.
- 註釋的方式有兩種單行和多行註釋
- 單行註釋 : 用#來註釋,不能換行
- 多行註釋 : '''註釋內容'''
10.基礎數據類型初識
- 整型 : 可進行 + - * / 運算 int 表示
- 字符串
- 定義 : python中主要是用引號引起來的就是字符串,計算機中str表示字符串的意思.
- 字符串和字符串之間可進行拼接,用+實現
- 字符串和數字可進行字符串的鏡像拼接,用*實現
- 布爾值
- True : 真
- False : 假
11.用戶輸入 input 用戶交互
-
input("提示語句"),其中python2和python3中有所不同,交互格式如下
#將用戶輸入的內容賦值給name變量 #python2的寫法 name = raw_input("請輸入用戶名:") print name #python3的寫法 name = input("請輸入用戶名:") print(name)
-
python3版本中 input 獲取到的內容全部都是字符串類型驗證如下
my_input=input("請輸入") print(type(my_input)) #打印的結果顯示my_input<class "str">str就是字符串的意思.
12.流程公式語句 if
if -如果-選擇(包含5種)
-
單純選擇判斷
if 1>0:#條件判斷用 > < == 符號來進行,注意用冒號結束. print("打印要求")#條件成立後執行,注意要有縮進符,使用Tab實現縮進.
-
二選一選擇判斷
if 1>0: print("打印要求") else:#當if不成立時是執行. print("打印要求")#當else成立時執行操作.
-
多個選項進行單選
num = 1 if num == 1: print('打印要求') elif num == 2: print('打印要求') elif num == 3: print('打印要求') else: print("打印要求")#當num不滿足以上條件要求時else才成立
-
多個選項進行多選
num = 1 if num == 1: print('打印要求') if num == 2: print('打印要求') if num == 3: print('打印要求') #此判斷可以進行多個判斷進行多個選擇. #與單選判斷的區別是單選判斷時當滿足一個條件要求後不再判斷其它的條件.
-
if 嵌套
name = input('請輸入名字:') if name == 'meet': age = 18 if age == 18: print('打印要求') else: print('打印要求') else: print('打印要求') #可以進行多次嵌套判斷,要靈活運用,前後邏輯要通順.
注:結合網上了解的知識點,結合自己學到的,整理出個人對python基礎的理解.