工作需要,要接觸python的程式,學習一下~
使用的3.2版本~話說比2.5變化還真多~print都變了~
總體感覺,py比較perl來說,特點還是非常之強烈的~
1、py可以自動字串複製:
>>> x='3'
>>> x*3
'333'
>>>
2、py是強型別變數,和perl不同,型別變數不能混用~
3、字串連線+號和join等string函式:
>>> x='z'
>>> y='zr'
>>> x=x+y
>>> print(x)
zzr>>> print(x,":",y)
zzr : zr
>>> aa =['1','2','3']
>>> split = '**'
>>> aftersplit=split.join(aa)
>>> print (aftersplit)
1**2**3
>>> x = 'zzrqwe'
>>> if 'qwe' in x:
print ('match')
match
>>> if x.find('qwe') != -1:
print ('match')
match
>>> print (x.find('qwe'))
3
>>> y = x.replace('q','qqq')
>>> y
'zzrqqqwe'
>>> a
['zrxrcrvr']
>>> a=y.split('r')
>>> a
['z', 'x', 'c', 'v', '']
>>> a.pop(4) #use index
''>>> a
['z', 'x', 'c', 'v']
>>> a.remove('v') #use value
>>> a
['z', 'x', 'c']
>>>
4、type/id函式:
>>> name=type(x)
>>> print(name)
>>> type(none)
>>> id(none)
504026256
5、數字介於比較:
>>> x
6.333333333333333
>>> if 06、3.2版本的raw_input變化為input,不過active3.2整合的ide功能真的很強~
7、python的正規表示式,封裝為class就是給力~
'123.456.789'
>>> patt=re.compile(r"(\d+)\.(\d*)\.(\d+)")
>>> r=patt.match(age)
>>> print(r.group())
123.456.789
>>> print(r.lastindex)
3>>> print(r.group(1))
123>>>
8、for的range,切片,string索引等py用法都不包含尾:
>>> name='i am jason'
>>> print(name[2:4])
am
>>> for number in range(0,4,2):
... print(number)
...
02
9、可使用分號標明py的邏輯行和物理行的對應關係
10、__doc__和__name__用法,給力啊~~
11、del用法:
>>> x='123'
>>> print(x)
123>>> del x
>>> x
traceback (most recent call last):
file "", line 1, in x
nameerror: name 'x' is not defined
12、列表用法:
>>> print(list)
[1, 2, 3, 4, 1]
>>> list.remove(1)
>>> print(list)
[2, 3, 4, 1]
>>> list.reverse()
>>> print(list)
[1, 4, 3, 2]
>>> list.sort()
>>> print(list)
[1, 2, 3, 4]
>>> list.reverse()
>>> print(list)
[4, 3, 2, 1]
>>> for listitem in list:
print(listitem) 4
321>>>
13、元組(),元組不可修改:
>>> stringlist = ''
>>> for listitem in list:
stringlist = stringlist + str(listitem)
>>> print (stringlist)
4321
>>> stringlist = ''
>>> for listitem in list:
stringlist = stringlist , str(listitem)
>>> print (stringlist)
(((('', '4'), '3'), '2'), '1')
>>> stringlist[0]='1'
traceback (most recent call last):
file "", line 1, in stringlist[0]='1'
typeerror: 'tuple' object does not support item assignment
14、奇妙的層次感鮮明的元組,:
>>> print(stringlist[0][0])
(('', '4'), '3')
>>> print(stringlist[0][1])
2>>> print(stringlist[0][0][0])
('', '4')
15、雜湊序列及其排序:
>>> bb={}
>>> bb['gary'] =
>>> bb
}>>> bb.values()
dict_values()
>>> bb.items()
dict_items([('gary', )])
>>> bb.get('gary')
>>> qq='qq'
>>> if qq in ab['gary']:
print(ab['gary']['qq'])
23>>> bb['jason'] = >>> bb
, 'gary': }
>>> bb.items()
dict_items([('jason', ), ('gary', )])
>>> for item in sorted(bb.keys()):
for items in sorted(bb[item].keys()):
print (item,items,bb[item][items])
gary email ad
gary qq 23
jason email dd
jason qq 11
>>> bb.pop('gary')
>>> bb
}>>> for name in bb.keys():
for items,value in bb[name].items():
print (name ,"+++",items,"+++",value)
jason +++ qq +++ 11
jason +++ email +++ dd
16、繼承類使用(父類),~所有皆是物件~
17、檔案操作r,w,a:
string = '''bas
(broadband access server/ broadband remote access server)
end pppoe
'''f = open('bas.txt', 'w')
f.write(string)
f.close()
line = open('bas.txt').read()
print (line)
18、匿名函式列印列表中偶數的2倍數:
>>> aa = [1,2,3,4,5,6]
>>> g= lambda x : [num*2 for num in x if num % 2 ==0]
>>> g(aa)
[4, 8, 12]
先學習到這吧,差不多程式都能讀懂修改了~
感覺要寫大型專案而不是系統資料維護工作,python是首當其衝的選擇啊~
Python 初學筆記
def to celsius t return t 32.0 5.0 9.0 在函式名後用冒號,不是等號。函式實際定義在下一行,該行縮排4個空格,並以return 標記。str t 將t轉換為字串 12 str 34 56 123456 在字串兩端的單引號或者雙引號分別替代成3個,即可擴充套件為多行...
Python初學筆記
whileformat.1 while 迴圈控制條件 迴圈體format.2 while 迴圈控制條件 迴圈體else 語句forformate.1 for 目標識別符號 in 序列 迴圈體注意 若 in 的序列是乙個列表,則目標識別符號會代替序列裡的變數 for xx in range n 迴圈體...
Python初學筆記
一 安裝 直接通過軟體管理程式,搜尋python,安裝 安裝過程中自定義路徑,有個選項類似 add python3.5 to path 勾選後便可以在cmd命令視窗,通過輸入python,啟動python編譯器 二 第乙個程式列印hello world 1 在編譯器下,後面輸入print hello...