安裝Python2.7
#tar xf python-2.7.11.tar.gz
#cd python-2.7.11
#./configure --prefix=/usr/local/python2.7
#vim /etc/profile
export PATH=$PATH:/usr/local/python2.7/bin
安裝ipython
#tar xf ipython-0.31.1.tar.gz
#cd ipython-0.13.1
#python2.7 setup.py build
#python2.7 setup.py install
#ln -sv /usr/local/python27/bin/python2.7 /usr/bin/python27/bin/python2
#ln -sv /usr/local/python27/bin/ipython /usr/bin/ipython
python 常識:
python腳本一般以.py結尾,bash腳本都是以.sh結尾
python開頭使用/usr/bin/python2.7 ,而bash是以/bin/bash開頭
和bash腳本一樣,每個腳本都需要使用執行的權限
#chmod a+x test.py
python包含很多系統模塊,如果要使用它們需要使用import來導入
#import os
#import platfrom
python獲取幫助命令,要以使用dir和help
#dir(str) 可以獲取str命令的全部使用方法
#help(str) 同樣好可以獲取使用方法
ipython好用的tab鍵,跟bash命令一樣,輸入二個TAB鍵會補全相應的參數,它同樣可以使用TAB鍵來獲取命令的使用參數,當忘記參數時可以用此功能;
python變量命名規則
只能包含字母,數字,下劃線,不能以數字開關,區分大小寫
禁止使用保留字
雙下劃線是系統定義的變量,對python有特殊意義
以雙下劃線開頭,但結尾沒有雙下劃線是類的變量
交互模式下,變量爲‘_’用於保存表達式的最後一個值
python常用命令及功能
id 獲取變量在內存中的位置
eg:id(name)------>內存地址
type 輸出變量的類型
eg:name="huang"
type(name)--->str
len 測試字符、變量等的長度
eg:name="huang"
len(name)---->5
is 身份操作符
eg:name="huang" xing='huang'
name is xing ---> True
in、not in成員關係判斷符
eg:name="abcde" xing="haung" xin='a'
name in xing --->False
name in xin --->False
xin in name --->True
str、float、tuple、set、list、dict 將其他類型轉換爲字符串、浮點、元組、集合、列表、字典
eg:name=13
type(str(name))---> str
ord、chr、hex、bin、oct 將其他類型轉換爲整數、字符、十六制、二進制、八進制
eg:c=109
bin(c) --->0b1101101
range(10) 生成1-10的序列數值列表
callable 判斷對象是否可調用
import sys 導入系統模塊
sys.getrefcount(name) 查看name變量被引用的次數
delete(name) 刪除一次變量的引用
raw_input("Pls Input num: ") 接受從鍵盤輸入的內容
函數,函數只有使用了纔有效
定義:
def 函數名():
函數體
字符串序列化
str1="www.test.com"
str1[0:]---> www.test.com
str1[0:4]--->www.
str1[:len(str1)]--->www.test.com
str1[1:4:2]--->w.
返回指定內容
min() 最小
max() 最大
all() 所有元素不爲0、False或者空則返回True,空元組和空列表返回值爲True
str1.isupper() 判斷是來小寫
str1.islower()判斷是否爲小寫
str1.upper() 變爲大寫
str1.lower()變爲爲小寫
str1.capitalize() 首字母是否爲大寫
str1.index('n') 找出第一個出現n的位置
str.join('str2') 將字符串連接起來
str1.replace('a','A',1)將第一個a替換爲A
str1.split('a')將a做爲分隔符進行分隔
str1.strip()刪除左右邊的空格符
列表,列表是從0開始計數,列表使用[]進行定義
定義一個列表
str1=[1,3,4,4]
str2=['a','b'],['c','d']
修改列表
str1[3]='a'
刪除列表值
del(str1[2])
del(str2[1][1:]) --->['a','b'],[]
增加列表對象
str1.appen("aaa")
擴展一個列表
str1.extend(str2)
統計在列表中出現的次數
str1.count("ab")
統計在列表中第一次出現的位置
str1.index("ab")
將列表中的最後一個值刪除
str1.pop()
str1.pop(3) 刪除第3上位置的值
將列表中的值刪除
str1.remove("ab")
在原有的數據上進行排序
str1.sort()
在原有的數據上進行反向排序
str1.reverse()
將二個列表進行連接到一起
str1+str2
將一個列表顯示2次
str1*2
列表複製
str2=str1 str2指向str1的內存空間
str2=str1[:] 將str1內有所有值複製給str2
元組(tuple),元組的定義一般都是使用小括號(),但是括號也可以省略
定義元組
tu1='a','b','c'
字典,字典定義使用花括號{},字典包含鍵和值二部分,他們之間使用冒號分隔,不同的鍵值對使用逗號來分隔
定義字典
dict1={'a':1,'b':2,'c':3,'e':4}
清除字典的所有內容
dict1.clean()
複製字典的內容,注意內存空間地址
dict2=dict1.copy()
將字典中的所有鍵的值填充爲abc
dict1.fromkeys([key1,key2..],(‘abc'))
獲取字典中的所有鍵
dict1.keys()
獲取字典中的所有值
dict1.values()
判斷字典中是否有'ab'鍵
dict1.has_key('ab')
集合
運算符的優先級
運算優先級:
^ (....),[....],{...}
| s[i],s[i,j]
| s.attribute
|s(...)
| +x,-x,~x
| x**y
| x*y , x/y , x//y , x%y
由 x + y ,x - y
|x >> y, x << y
高 x & y
| x^y
到 x|y
| < ,<=,> ,>=,
底 ==,!=
| is,not is
| in ,not in
| not
| and
| or
| lambda
流程控制語句
if條件測試表達式
語法
if expression1:
語句1
elif
語句2
else
語句3
三元條件選擇表達式
Name=x if Y else Z ==> if y: name=x else name=z
where語句,只有當程序自行完成,else語句纔會被執行,否則將不會被執行,else不是必須的
語法:
while expression1:
語句1
else
語句2
for語句,只有當for語句自行循環完成,else語句纔會被執行,否則不會被執行,else不是必須的
for語法:
for expression1 in iterable:
語句1
else
語句2