åå¼å·ï¼åå¼å·ï¼ä¸å¼å·
æ 论åå¼å·ï¼åå¼å·è¿æ¯ä¸å¼å·ï¼ææ¬ä½çå
容齿¯å符串ã
åå¼å·ï¼åå¼å·åä¸å¼å·ï¼å¯ä»¥ç¸äºå
å«ï¼èä¸ä¼ä½¿è§£é卿··ä¹±ãä¸å¼å·å¯ä»¥è·¨è¡ï¼ï¼
pythonä¼èªå¨å ä¸\nï¼å
¶ä»ç两个ä¸å¯ä»¥ãç¨printè¾åºæ¶ï¼æç
§å符串çå
容è¾åºã
python䏿°ç表示
ææ°çpythonä¸ï¼æ°å为ï¼
æ´æ°(å¯ä»¥æ é大), æµ®ç¹åæ°ï¼èæ°(eg.12j/J).å¯ä»¥ç¨type()彿°æ¥æ¥çä¸ä¸ªæ°åçç±»å
>>> type(1)
>>> type(1.0)
>>> type(1j)
python䏿 论ä»ä¹ç±»åçä¸¤ä¸ªå®æ°ç¸é¤(/)ï¼é½ä¼è¿åæµ®ç¹åå¼ãåä½(%),è¿åçæ¯ä½æ°.printæ ¼å¼åé符(format specifier):
%f #æµ®ç¹åè¾åº,å¯ä»¥æå®ç²¾åº¦ãeg. %.02f, %10.02f
%E(e) #ç§å¦è®¡æ°æ³è¾åº
%X(x) #åå
è¿å¶è¾åº
%o #å
«è¿å¶è¾åº
pythonåéååªæ¯å
åä¸ä¸åæ°æ®çå«åã
python䏿äºå忝ä¿ççãå¦ä¸ï¼
and, as ,assert,break, class ,continue,def, elif, else,
except, del, exec, False, finally, for, from, global, if, import,
in, is ,lambda, not, None, or, pass, print, raise, return, try,True,
while, with, yield
pythonçå¤ææ°æ®ç±»å
tuple(å
ç»):ä¸å¯æ¹åçä¸ç»æ°æ®,å¯ä»¥å®¹çº³ä»»ä½ç±»åçæ°æ®
è¡¨ç¤ºæ¹æ³ï¼()
æ¹æ³ï¼
a = ("a","b","c")
ç´¢å¼(indexï¼ï¼ a[2]
é¿åº¦ï¼ len(a)
list(å表):坿¹åçä¸ç»æ°æ®ï¼å¯ä»¥å®¹çº³ä»»ä½ç±»åçæ°æ®
è¡¨ç¤ºæ¹æ³ï¼[]
æ¹æ³ï¼
a = [ "apple","orange", "egg"]
ç´¢å¼(index): a[2]
é¿åº¦:len(a)
append(): a.append("jack") #å¢å ä¸ä¸ªitem
extend():y a.extend(["tom","US"]) #æä¸ä¸ªå表çå
ç´ å å
¥å·²æå表
pop() : a.pop(index) #å é¤indexä½ç½®çå
ç´ ,妿index为空ï¼å为æåä¸ä¸ª
dictionary(åå
¸):ä¸ç»åºåå¼ãkeyå¿
é¡»æ¯ä¸å¯åçï¼æ¯å¦string,number,tuple, key valueå¯ä»¥æ¯ä»»æç±»åã
è¡¨ç¤ºæ¹æ³ï¼ï½ï½
æ¹æ³ï¼
a = { 1:"wolf", 2:"python",3 :"london"}
ç´¢å¼(index): æå¼ç´¢å¼, a[1]
keys(): a.keys() #è¿åææçkey
values(): a.values #è¿åææçkey values
set (éå):ä¸ç»ä¸å¯éå¤çæ°æ®ï¼ç±»ä¼¼äºdictï¼ä½æ¯å没ækey valuesã
ç¹æ®ç±»åï¼
None,nothing ,ä¸è¬ç彿°è¿åç齿¯None
å¸å°ç±»åï¼True, False):
贯穿äºstring, list ,tupleä¸çåçslice
a[2:3]
彿°ï¼
彿°çä¸ä¸ªå±æ§docstring, myfunction.__doc__
diræ¾ç¤ºäºä¸ä¸ªå¯¹è±¡çææå±æ§ã
彿°åéçä½ç¨å
设置缺ççåéå¼
pythonå
许å¨å½æ°éå®ä¹å½æ°
pythonä¸ç模å
å½importä¸ä¸ªæ¨¡ååï¼è¿ä¸ªæ¨¡åå
çææå¯¹è±¡é½è¢«æ¾å¨è¿ä¸ªæ¨¡åçä½ç¨åå
ãï¼éæ°
æå»ºä¸ä¸ªä½ç¨å).from ...import æå¯¹è±¡æ¾å¨å½åçä½ç¨å.
package(å
),æ¯æä»¶çéåï¼ä½æ¯å¿
é¡»æ__init__.pyæä»¶ï¼å®åè¯pythonï¼è¿ä¸ªç®å½
䏿¯ä¸ä¸ªæ®éçç®å½ï¼æ¯ä¸ä¸ªå
ãå 为å
ä¸åmoduleï¼å¯¼å
¥ä¸ä¸ªå
ï¼é¦å
è¦å¤ççå°±æ¯
__init__.pyæä»¶ï¼å¨è¿ä¸ªæä»¶ä¸å¯ä»¥æå®é£äºmoduleå¯ä»¥ä½¿ç¨ï¼æä¹ä½¿ç¨( é»è®¤æ
åµä¸ï¼
__name__æ¯æ¨¡åç齿çä¸ä¸ªå±æ§ï¼å®æçæ¯æ¨¡åçååï¼ __main__å°±æ¯æ¨¡åçååï¼æ è®ºä»æ¯ä»ä¹ï¼è¿ä¸ªéå¸¸ç¨æ¥æµè¯ç¨ã
æä»¶ï¼
open()å建ä¸ä¸ªæä»¶å¯¹è±¡ï¼writeï¼åå
¥æä»¶.
readline(),è¿åæä»¶çä¸è¡.
read()è¿åæ´ä¸ªæä»¶ä½ä¸ºä¸ä¸ªstringã
readlines()è¿åæ´ä¸ªæä»¶ä½ä¸ºä¸ä¸ªå表ï¼åè¡¨éæ¯ä»¥è¡ä¸ºåä½ä¸ºä¸å符串.æ é¡»å®å
¨å è½½å°å
åä¸.
python卿使件çè¿ç¨ä¸ï¼éå°é误ï¼å°±ä¼raise个IOErrorçå¼å¸¸ã
os模å:
os模åå
å«å¦å¤ä¸ä¸ªæ¨¡åï¼os.pathï¼
os.path.join:
>>> os.path.join("/home/wolf", "programming")
'/home/wolf/programming'
os.path.split():
>>> os.path.split("/home/wolf/programming")
('/home/wolf', 'programming')
os.path.splitext():
>>> os.path.splitext("icon.py")
('icon', '.py')
os.path.abspath():
>>> os.path.abspath("icon.py")
'/home/wolf/programming/python/icon.py'
os.path.isfile(),os.path.isdir():
>>> os.path.isfile("icon.py")
True
>>> os.path.isdir("/home/wolf")
os.path.getsize():
>>> os.path.getsize("/home/wolf/programming/python/icon.py")
397
ç®å½ï¼
os.listdir():>>> os.listdir("/")
['mnt', 'proc', 'lost+found', 'tmp', 'bin', 'sys', 'vmlinuz.old', 'initrd.img', 'selinux', 'home', '.ure', 'root', 'media', 'sbin', 'boot', 'vmlinuz', 'var', 'opt', 'srv', 'usr', 'etc', 'lib', 'cdrom', 'initrd.img.old', 'dev']
>>> sorted(os.listdir("/"))
['.ure', 'bin', 'boot', 'cdrom', 'dev', 'etc', 'home', 'initrd.img', 'initrd.img.old', 'lib', 'lost+found', 'media', 'mnt', 'opt', 'proc', 'root', 'sbin', 'selinux', 'srv', 'sys', 'tmp', 'usr', 'var', 'vmlinuz', 'vmlinuz.old']
time模å
time.ctime:
>>> buildTime = os.path.getmtime("/home/wolf")
>>> print(time.ctime(buildTime))
Tue Aug 31 17:04:20 2010
éå½åï¼ç§»å¨ï¼å¤å¶ï¼å 餿件
shutil模åæä¾äºè¿äºåè½
shutil.move :ç§»å¨æä»¶
>>> import shutil
>>> shutil.move("file", "/tmp/file")
shutil.copy():
>>> shutil.copy("file","/home/wolf")
os.remove():
>>> os.remove("/home/wolf/file.txt")
å建ï¼å é¤ç®å½ï¼
os.mkdir()ï¼os.rmdir(): os.rmdir()åªè½å é¤ç©ºæä»¶
>>> os.mkdir("/home/wolf/python")
>>> os.rmdir("/home/wolf/python")
妿è¦å é¤ä¸ä¸ªæ²¡æ,shutil.rmtree()
>>> shutil.rmtree("/tmp/test")
python ä¸çéé
符
* #å¹é
ä»»ä½å符ï¼ä¸²ï¼
ï¼ #å¹é
ä¸ä¸ªå符
[] #å¹é
æ¬å·ä¸çé项
[!] #å¹é
鿬å·ä¸çé项
[1-9],[a-z],å¹é
1ï¼9ï¼a-zä¸çä»»æå符(æ°å)
模åglob
glob.globè¿åç¬¦åæ¡ä»¶çè·¯å¾å
>>> import glob
>>> glob.glob("/tmp/[so]*")
['/tmp/scim-helper-manager-socket-wolf', '/tmp/ssh-VWuCMO2736', '/tmp/orbit-wolf', '/tmp/scim-panel-socket:0-wolf', '/tmp/scim-socket-frontend-wolf', '/tmp/svi4c.tmp', '/tmp/seahorse-WYEPIf']
lambda 彿°ï¼lambda彿°å嫿 å彿°.
>>>lambda x: x*x
filter(): è¿æ»¤å½æ°ï¼ä¾æ®ä¸å®ç彿°ï¼è¿åç¬¦åæ¡ä»¶çå
ç´
map()ï¼ æç¸åºçå
ç´ æ å°ä¸ºä¸å®çå¼
å¨python3.1ä¸,map è¿åè¿ä»£å¨,å¨ä»¥åççæ¬ä¸è¿åä¸ä¸ªå表
list comprehension ä¹æåæ ·çåè½ï¼æ¯å¦ï¼
>>> a = map(lambda x : x*x , [1,2,3])
>>> print(*a)
1 4 9
>>> [x*x for x in [1,2,3]]
[1, 4, 9]
è¿ä»£å¨ï¼
python æä¾äºå¾å¤ä¸æ¹æ³å建è¿ä»£å¨ã
å
¶ä¸ä¹ä¸å°±æ¯range()彿°
>>> foo = range(2,9,2)
>>> foo
range(2, 9, 2)
>>> print(*foo)
2 4 6 8
range()产çä¸ä¸ªè¿ä»£å¨ï¼ä½æ¯ä¹æçº¿æ§æ°æ®ç»æçæ§è´¨
>>> foo[1]
4
>>> foo[3]
8
好å¤å°±æ¯å ç¨çå
忝è¾å°ï¼æ 论çæçæ°æ®æ¯å¤å°.
åç¬¦ä¸²æ ¼å¼åä¹åå
¸
>>>person = {"name": "jack", "age": 20, "status":"student"}
>>> print("%(name)s" % person)
jack
pythonåºå°ç¥
getopt:
getopt.getopt ågetopt.gnu_getopt
å¤è¿ç¨:
os.fork()
os.execl()
å¤çº¿ç¨:
threading.Thread
åè°æ¨¡å:
dir() 彿°æ¥æ¾moduleä¿¡æ¯
>>> import sys
>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'int_info', 'intern', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'pydebug', 'setcheckinterval', 'setdlopenflags', 'setfilesystemencoding', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
å¨å¯¼å
¥(import)模åçæ¶åï¼python便®sys.pathè·¯å¾æ¥æç´¢æ¨¡å
>>> import foo
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named foo
>>> import sys
>>> print(sys.path)
['', '/usr/lib/python3.1', '/usr/lib/python3.1/plat-linux2', '/usr/lib/python3.1/lib-dynload', '/usr/lib/python3.1/dist-packages', '/usr/local/lib/python3.1/dist-packages']
æå»ºèªå·±ç模ååå
é¢åå¯¹è±¡çææ³ï¼
*å°è£
(encapsulation)
*ç»§æ¿(inheritance)
*夿(polymorphism)
æå»ºèªå·±ç模åï¼è³å°è¦å®æå¦ä¸ï¼
*å®ä¹èªå·±çé误åå¼å¸¸
èªå®ä¹çå¼å¸¸æ¯Exceptionçåç±»
*å®ä¹api
_(ä¸ä¸ªä¸å线)å¼å¤´çåéï¼å½æ°),é»è®¤æ¯ä¸è¢«å¯¼å
¥çï¼å¦æéè¦å¯¼å
¥ï¼èªå·±å®ä¹__all__彿°ï¼ä¾å¦ï¼
__all__ = ["wolf", "wolfName", "wolfAge"]
*ææ¡£
*æµè¯èªå·±ç模å
å®è£
模å
使ç¨pythonçdistutilså
ï¼
é¦å
å建衣è¾setupèæ¬ï¼setup.py
from distutils.core import setup
setup(name = "nameOfModule",
version="2.0",
py_modules=["nameoOfModule"],)
åæ§è¡
python setup.py install
text processing
os模åå¤çæä»¶ç³»ç»
os.getcwd()
os.listdir()
os.stat(path)
os.path.split(path)
os.path.join()
os.path.normcase(path)
os.walk(top, topdown=True,
onerror=None, followlinks = False)
æ£å表达å¼ï¼
re
pythoné«çº§åºç¨
1.testing ï¼ PyUnit
2.GUI
3.database
DBM: 以dictåå¨å¨ç¡¬çä¸ï¼æå¾å¤ä¸å®ç°,åå
¸çKey åvalueé½å¿
é¡»æ¯string
é¤ééè¦dbmçç¹å«åè½ï¼ç¨dbm模å.pythonä¼èªå¨éæ©æå¥½çdbmå®ç°.
å°±åæå¼ä¸ä¸ªæ®éçæä»¶ä¸æ ·ï¼open()彿°ï¼close()彿°ï¼å¢å å
ç´ çæ¹æ³å°±æ¯
ç¨åå
¸å®ç°ãæ¯å¦ï¼
import dbm
db = dbm.open("websites", "c")
db["www.python.org"] = "python home page"
print(db["www.python.org"])
db.close()
relational DB: å
³ç³»åæ°æ®åºãæ°æ®åº-->表-->è®°å½(è¡).
primary key ï¼å¨å䏿¯å¯ä¸çï¼
foreign key: æ¯å¦å¤ç表çä¸ä¸ªå
sqlite3模å
é¦å
建ç«è¿æ¥ï¼
conn = sqlite3.connect("db")
å建cursor对象:
c = conn.cursor()
è°ç¨cursor对象:
cursor.execute()
å¯ä»¥æ§è¡çæä½ï¼
æ°å»º,æå
¥ï¼æ¥è¯¢ï¼æ´æ°ï¼ç¸åºçsqlè¯å¥.
Djangoï¼