python學習記錄

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中,truefalse的前兩個字母要大寫,這樣的: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) 比較mn的大小,mn大就返回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)   查找字符串strdstrs中的起始位置,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]                  #不過它把不符合條件的給過濾掉了,如查我不想過濾掉怎麼辦啊(現在不知道)

發佈了9 篇原創文章 · 獲贊 2 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章