簡介:
Python可以應用於衆多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等衆多領域。目前業內幾乎所有大中型互聯網企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。
編譯性語言
編譯型語言寫的程序執行之前,需要一個專門的編譯過程,把程序編譯成爲機器語言的文件,比如exe文件,以後要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因爲翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高。(C、C++、java)
解釋性語言
解釋則不同,解釋性語言的程序不需要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,比如解釋性java語言,專門有一個解釋器能夠直接執行java程序,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。(java、php、perl、python)
腳本語言
腳本語言是解釋性語言。腳本語言一般都有相應的腳本引擎來解釋執行。它們一般需要解釋器才能運行。所以只要系統上有相應語言的解釋程序就可以做到跨平臺。腳本語言是一種解釋性的語言,例如vbscript,javascript,installshield script等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件的形式存在。(vbscript,javascript,installshield script)
動態語言和靜態語言
通常我們所說的動態語言、靜態語言是指動態類型語言和靜態類型語言。
(1)動態類型語言:動態類型語言是指在運行期間纔去做數據類型檢查的語言,也就是說,在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,在內部將數據類型記錄下來。Python和Ruby就是一種典型的動態類型語言,其他的各種腳本語言如VBScript也多少屬於動態類型語言。
(2)靜態類型語言:靜態類型語言與動態類型語言剛好相反,它的數據類型是在編譯其間檢查的,也就是說在寫程序時要聲明所有變量的數據類型,C/C++是靜態類型語言的典型代表,其他的靜態類型語言還有C#、JAVA等。
強類型定義語言和弱類型定義語言
(1)強類型定義語言:強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,如果不經過強制轉換,那麼它就永遠是這個數據類型了。舉個例子:如果你定義了一個整型變量a,那麼程序根本不可能將a當作字符串類型處理。強類型定義語言是類型安全的語言。
(2)弱類型定義語言:數據類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數據類型的值。
強類型定義語言在速度上可能略遜色於弱類型定義語言,但是強類型定義語言帶來的嚴謹性能夠有效的避免許多錯誤。另外,“這門語言是不是動態語言”與“這門語言是否類型安全”之間是完全沒有聯繫的!
例如:Python是動態語言,是強類型定義語言(類型安全的語言); VBScript是動態語言,是弱類型定義語言(類型不安全的語言); JAVA是靜態語言,是強類型定義語言(類型安全的語言)。
python是一門動態解釋性的強類型定義語言。
一、python3安裝
windows安裝方法
1. 下載下來之後雙擊安裝,安裝時一路下一步下一步即可(根據自定義路徑)
2. 配置環境變量
右鍵計算機 —> 屬性 —> 高級系統設置 —> 高級 —> 環境變量 —> 在第二個內容框中找到變量名爲Path的一行,雙擊 —> Python安裝目錄追加到變值值中,用;分割
centos7安裝升級方法
yum -y install readline-devel patch readline gcc tar xvf Python-3.5.tgz cd Python-3.5 ./configure --prefix=/usr/local/python35 make && make install mv /usr/bin/python /usr/bin/python_old ln -s /usr/local/python35/bin/python /usr/bin/ tar zxvf setuptools-1.6.2.tar.gz cd setuptools-1.6.2 python setup.py build python setup.py install tar zxvf readline-7.2.4.1.tar.gz cd readline-7.2.4.1 python setup.py build python setup.py install vi /usr/bin/yum #!/usr/bin/python2.7
二、python入門
創建.py結尾文件並運行
[root@localhost ~]# cat hello.py
#!/usr/bin/env python
print ("Hello World!")
[root@localhost ~]# python hello.py
Hello World!
第一行#!/usr/bin/env python設置環境變量
第二行print ("Hello World!")以函數打印Hello World!
python2中使用print "Hello World!"爲語句輸出;
三、代碼流程
Python先把代碼(.py文件)編譯成字節碼,交給字節碼虛擬機,然後虛擬機一條一條執行字節碼指令,從而完成程序的執行;字節碼在Python虛擬機程序裏對應的是PyCodeObject對象。
.pyc文件是字節碼在磁盤上的表現形式;當python程序第二次運行時,首先程序會在硬盤中尋找pyc文件,如果找到,則直接載入,否則就重複上面的過程。
四、變量與字符編碼
變量定義的規則:
變量名只能是 字母、數字或下劃線的任意組合
變量名的第一個字符不能是數字
以下關鍵字不能聲明爲變量名
['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']
>>> work = "IT"
>>> work
'IT'
聲明瞭一個變量,定義一個變量名爲”work“,變量名的值爲:“IT”
字符編碼
python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill)
ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多隻能用 8 位來表示(一個字節),即:2**8 = 256-1,所以,ASCII碼最多隻能表示 255 個符號。
python制定字符編碼的方式有多種,而編碼格式是要寫在解釋器的下面的,常用的如下面二種:
第一種
#!/usr/bin/env python
#coding:utf-8
第二種
#!/usr/bin/env python
# -*- coding:utf-8 -*-
代碼註釋
#單行註釋
多行註釋""" work test"""
五、數據類型
1.字符串
定義字符串類型是需要用單引號或者雙引號包起來
>>> name = 'patrick'
>>> print(type(name))
<class 'str'>
2.數字(直接跟數字,不要用雙引號包起來)
>>> year = 2016
>>> print(type(year))
<class 'int'>
3.布爾值(真or假 1或者0)
>>> if True:
... print ("0")
... else:
... print ("1")
...
0
4.字符串常用操作
移除空白
分割
長度
索引
切片
5.列表
索引
切片
追加
刪除
長度
切片
循環
包含
6.元組(不可變列表)
>>> year = (2012,2013,2014,2015)
>>> year
(2012, 2013, 2014, 2015)
7.字典
person = {"name": "mr.wu", 'age': 18}
或者
person = dict({"name": "mr.wu", 'age': 18})
常用操作:
索引
新增
刪除
鍵、值、鍵值對
循環
長度
八、數值運算
1.算數運算符
2.比較運算符
3.賦值運算符
4.位運算符
5.邏輯運算符
6.成員運算符
7.身份運算符
8.運算符優先級
九、for、if、while使用
for循環列表使用
>>> data = [1,2,3,4,5,6] >>> for i in data: ... print(i,end='\n') ... 1 2 3 4 5 6
if使用
#!/usr/bin/env python #-*- coding:utf-8 -*- # 該實例演示了數字猜謎遊戲 number = 7 guess = 0 print("數字猜謎遊戲!") while guess != number: guess = int(input("請輸入你猜的數字:")) if guess == number: print("恭喜,你猜對了!") elif guess < number: print("猜的數字小了...") elif guess > number: print("猜的數字大了...")
while使用
#!/usr/bin/env python #-*- coding:utf-8 -*- #author patrick import getpass count = 3 flage = "True" while flage: username = input("please input your name: ") passwd = getpass.getpass("please input your password: ") if username=="patrick" and passwd=="123": print("welcome to %s" % username) break else: if count == 1: flage = False else: count-=1 print("you have %s chaces!" % (count))
break跳出當前循環體,下面代碼不再執行,繼續執行循環後面的代碼
continue 跳出本次循環,繼續下一次循環
python小練習(打印1+..+9)和
awk思路:
root@data:~# awk -vc=9 'BEGIN{for(i=1;i<=c;i++){s=s?s"+"i:i;t+=i;print (i==1)?"1":s"="t}}' 1 1+2=3 1+2+3=6 1+2+3+4=10 1+2+3+4+5=15 1+2+3+4+5+6=21 1+2+3+4+5+6+7=28 1+2+3+4+5+6+7+8=36 1+2+3+4+5+6+7+8+9=45
python思路
#!/usr/bin/python __author__ = 'Patrick' import sys if __name__ == "__main__": print ('Please input a int:') n = int(input('> ')) i = 1 s = 0 while i <= n: j = 1 while j <= i: if j < i: sys.stdout.write(str(j)+'+') else: sys.stdout.write(str(j)) s += j print (" " + '= {0}'.format(s)) j += 1 i += 1