python中的一些關鍵詞中的下劃線是兩個"_","__"
copy可以複製任何對象
deepcopy 深拷貝,可以深入的拷貝對象
高級的數據結構可以在一個語句中構造出複雜的操作
語句的組織用縮進,而不是像{}begin end 我用Tab來縮進,不用空格
不用聲明變量,和asp一樣,但是使用時要注意,不要亂了
"_"這個符號保存了最後一次計算的值,像這樣的
>>>a=3
>>>b=4
>>>a+b #不是print a+b
7
>>>_
7
用"/"作爲沿續符
>>>“hello/
word“
hello world
在字符串前面加一個"r",它會換輸入的格式來打印出來
>>>r“hello/nworld“
hello/nworld
用三個“'“也可以有一樣的效果
函數的default參數,但default參數要全部們於右邊
def add(a=3,b=4)
def add(c,a=3,b=4): #這是對的
def add(a=3,b=4,c): #這是不對的
函數的序列參數
def add(a,*b): #序列參數
可這樣傳值了
>>>add(3,4,56)
一個完整的例子:
>>> def add(a,*b):
coun=0
for i in b:
coun = coun + i
return coun + a
>>> add(3,4)
7
>>> add(3,4,5,5)
17
>>> add(3,4,5,2,3,3,3,3,33,3,3)
65
>>>
函數的字典參數
def add(a,**b)
>>>add(3,x=3,y=4,z=5)
調用序列參數和字典參數的另種方法:
>>>def add(a,*b,**c) #注意,這三種形參不能顛倒位置
>>>add(3,*(4,5,6),**{'x':7,'y':8})
python學習筆記1 <script language="javascript" type="text/javascript">document.title="python學習筆記1 - "+document.title</script>
1 轉換函數
int 轉換爲整型
long 轉換爲長整型
float轉換爲浮點數
complex轉換爲複數
str轉換爲字符串
2 常用內部函數
Abs() 返回絕對值
Coerce() 強制兩個變量的類型,就是將低層次的轉爲高層次的
Divmod() 得到a除以b的商和餘數
Pow() 進行乘冪計算,有兩個參數,如果有三個參數先將前兩個乘冪,再和第三個運算得到模
>>>Pow(9,2) #得到81
>>>Pow(9,2,7) #先得到81,再得到4
Round() #取小數後幾位
Hex()
將整數轉換成16進制
Oct()
將整數轉成8進制
Ord()
將字符轉換爲數值
Chr()
將數值轉換爲字符
python學習筆記2 <script language="javascript" type="text/javascript">document.title="python學習筆記2 - "+document.title</script>
1 布爾表達式
非0的數值爲真,0爲假
非空的字符爲真,空字符爲假
看個例子:
a=raw_input("輸入一些東西")
if a:
print "你輸入了"
else:
print "你沒有輸入"
2 如果想什麼都不執行可加上"pass",表示什麼都不做
3 在python中,true和false的前兩個字母要大寫,這樣的:True,False
4 if 語句
If x > y:
Print "x>y"
Elif x == y:
Print "x=y"
Else:
Print "x>y"
#可以沒有else的
if語句只要檢測到一條爲真的分支就會退出if,不管後面有沒有爲真的條件
還可以這樣寫
If 0<x<10:
pass
5 while語句
While(條件爲真時):
Pass
#執行的內容
6 return語句
return語句可用於返回函數的值,也可以終止函數並退出
7 break語句
break用於退出當前的函數,就是不執行了
8 continue語句
用於跳過當前的循環,繼續下一次
記得要把關鍵字加1,如下:
>>> i=1
>>> while i<100:
if i==35:
i=i+1
#這一句要記得啊,否則程序就一直等待了
continue
print 'i=',i
i=i+1
9 鍵盤輸入raw_input()
例>>>raw_input("Input your name:")
10 字符串的索引
Str="Hello!"
Str[2]='l'
Str[-2]='o'
字符串的值不能被改變,如下:
>>> a='sss'
>>> id(a)
10366592
>>> a='www'
>>> id(a)
10366912
11 Len() #取字符串的長度
>>> len(a)
3
12 可用"+"號把兩個字符串連接起來,用"*"可將字符串的多個拷貝接連起來
>>> a="hello"
>>> b=" world"
>>> a+b
'hello world'
>>> (a+b) * 3
'hello worldhello worldhello world'
13 可用str[m:n]取得字符串str從第m個索引開到到第n個索引的字符串,包括第m個索引的值,但不包括第n個索引的值,如果省略m,就從0開始,如果省略n就取到最後一位
>>> c='abcdefghijklmn'
>>> c[0:5]
'abcde' #沒有包括第5個索引的值
>>> c[:4] #省略了m
'abcd'
>>> c[5:] #省略了n
'fghijklmn'
但不可以像str[k]='a'這樣來改變字符串中的值,這樣是錯誤的
4 可用"in"來檢測一個字符串是否在另一個字符串中出現
>>> 'n' in a
True
5 用for來遍歷整個字符串
>>>for temp in a:
print temp
#用for來得到一個字符在另一個字符串中出現的次數
>>> def coun(str,ch):
coun=0
for temp in str:
if temp == ch:
coun=coun + 1
return coun
>>> coun('abcdefabcd','a')
2
>>>
python學習筆記3 <script language="javascript" type="text/javascript">document.title="python學習筆記3 - "+document.title</script>
1 字符串的格式化操作
Format % variable #Format是格式的樣式,variable是要被格式化的變量]
format有如下幾種形式
%o
#將數值轉換爲八進制
%x
#將數值轉換爲十六進制
%d #整數轉換符號
%s
#字符串轉換符號
如下:
>>> '%o' % 100
'144'
>>> '%#o' % 100 #加入一個“#”號可輸出標準的8進制數或16進制數
'0144'
#單精度的轉換
>>> '%.2f' % 3.235412 #.2表示保留兩們小數
'3.24'
>>> pi=3.1415926
>>> '%.2f' % pi #.2f是不包括小數位
'3.14'
>>> '%.2g' % pi #.2g是包括小數位
'3.1'
原意字符操作符"r"或"R"
>>> print 'hell','/nwrold'
hell
wrold
>>> print 'hello',r'/nwrold' #print 'hello',R'/nwrold'
hello /nwrold
>>>
2 字符串的幾個內置函數
1 Cmp(m,n) 比較m和n的大小,m比n大就返回1,比m小就返回-1,相等就返加0
>>> a='a'
>>> b='b'
>>> print cmp(a,b)
-1
2 尋找字符串中的最大字符和最小字符max(),min()
>>> max('abcdef')
'f'
>>> min('abcdef')
'a'
3 字符串模塊
1 find(strs,strd,m,n) 查找字符串strd在strs中的起始位置,m爲開始查找的位置,n爲終止位置
>>> import string
>>> a='www.slssoft.com'
>>> b='sls'
>>> print string.find(a,b) #default爲從頭找到尾
4
>>> print string.find(a,b,2) #從第2位開始找
4
>>> print string.find(a,b,2,5) #從第2位找到第5位
-1
2 string.uppercase #包涵了所有的大寫字母
string.lowercase #包涵了所有的小寫字母
string.digits #包涵了所有的數字
例如查找一個字符串是否全部爲大寫字母
def isUpper(str):
import string
temp=''
for temp in str:
if string.find(string.uppercase,temp) == -1:
return False
return True
還有一種方法:
>>> print 'a'<='c'<='z'
True
Python學習筆記_列表 <script language="javascript" type="text/javascript">document.title="Python學習筆記_列表 - "+document.title</script>
1 列表的操作
1) 用加號“+”號操作符來連接兩個列表,list=list1+list2
如下:
>>> a=[1,2]
>>> b=[3,4]
>>> c=a+b
>>> print c
[1, 2, 3, 4]
2) 用乘號“*”來重複一定次數的列表 list=list*n
>>> a=a*3
>>> print a
[1, 2, 1, 2, 1, 2]
>>>
3) 列表的元素是可變的,這點和字符串不一樣,我們可以修改,刪除,增加列表中的元素的值
>>> a=[5,2,4]
>>> a
[5, 2, 4]
>>> a[0]=1 #修改元素
>>> a[-1]=3
>>> a
[1, 2, 3]
4) 利用片段刪除元素
>>> a[1:2]=[]
>>> a
[1, 3]
5) 利用片段插入元素
>>> a[1:1]=[4]
>>> a
[1, 4, 3]
6) 元素的刪除del
>>> a
[1, 4, 3]
>>> del a[1]
>>> a
[1, 3]
還有一種
>>> list=[1,2,3,4,5]
>>> del list[2:4]
>>> list
[1, 2, 5]
7) 列表和字符串的不同之處
如下:相同的兩個變量如果值一樣,那麼它們的ID是一樣的
>>> a=12
>>> b=12
>>> print id(a),id(b)
8013556 8013556
>>> a=13
>>> print id(a),id(b)
8013544 8013556
>>>
但是列表卻不同,如下:
>>> a=[1,2]
>>> b=[1,2]
>>> print id(a),id(b)
10361904 10361712
8) 克隆列表
第一種方式:這種方式改變了其中的一個列表另一個也會相應的修改,因爲它們指向的是一個內存地址
>>> a=[1,2,3]
>>> b=a
>>> print id(a),id(b)
10362320 10362320
>>> b[0]=4
>>> print id(a),id(b)
10362320 10362320
>>> a,b
([4, 2, 3], [4, 2, 3])
>>>
第二種方法:這種方法就互不影響了
>>> a=[1,2,3]
>>> b=a[:]
>>> print id(a),id(b)
10362480 10361872
>>> b[0]=4
>>> print id(a),id(b)
10362480 10361872
>>> a,b
([1, 2, 3], [4, 2, 3])
9) 如果用列表做爲函數的實參,也要注意這個問題,如下所示
>>> def uplist(mylist):
mylist[0]='mylist'
>>> a=['a','b','c']
>>> uplist(a)
>>> print a
['mylist', 'b', 'c']
#函數改變了外面的列表a的元素,爲了避免這個問題可用上面講的第二種方法,先將mylist做一個備份,就是這樣的
Temp=mylist[:],而不能這樣temp=mylist
10) 嵌套列表,就是說一個列表是另一個列表的元素
>>> list=[1,2,[3,4]]
>>> list
[1, 2, [3, 4]]
>>> list2=list[2] 可以這樣取嵌套在裏面的列表
>>> list2
[3, 4]
也可以這樣來取
>>> list[2][0]
3
2 字符串和列表的一些函數
1) 將字符串按指定的字符分割成列表,如下: string.split(str,ch) 單詞的default分隔符爲空格,可以不寫
>>> import string
>>> myname="My name is xie guo zhong"
>>> mynamelist = string.split(myname)
>>> mynamelist
['My', 'name', 'is', 'xie', 'guo', 'zhong']
2) 將列表合併成字符串 string.join(list,ch)
>>> myName=string.join(mynamelist)
>>> myName
'My name is xie guo zhong'
3 列表的映射
如果要對列表的許多元素進行操作可以用如下方法:
>>> list=[1,2,3,4,5,6]
>>> i=0
>>> for temp in list:
list[i]=list[i] + 10
i=i+1
>>> list
[11, 12, 13, 14, 15, 16]
如果有條件的話可以加入條件
>>> list
[11, 12, 13, 14, 15, 16]
>>> i=0
>>> for temp in list:
if temp<>12:
list[i]=list[i]/10
i=i+1
>>> list
[1, 12, 1, 1, 1, 1]
如果用列表映射就可以省點代碼:
>>> list
[1, 2, 3, 4, 5, 6]
>>> list=[temp*10 for temp in list]
>>> list
[10, 20, 30, 40, 50, 60]
如果有條件
>>> list
[10, 20, 30, 40, 50, 60]
>>> list=[temp /10 for temp in list if temp<>30]
>>> list
[1, 2, 4, 5, 6] #不過它把不符合條件的給過濾掉了,如查我不想過濾掉怎麼辦啊(現在不知道)