python快速入門

基本使用

0.字符集
#coding=utf-8 #這樣才支持中文,不然默認使用ascII,放在正式程序的第一行

1.開頭
#!/usr/bin/Python

2.註釋
單行:# 多行:’‘’ ‘’‘ 或”“” “”“

3.print
print ‘i am zjk’, #最後加逗號,輸出的內容不換行,不加逗號自動換行,但是這樣會增加一個空格
print “i am %s”%name #格式化用百分號 多個用列表 % (a,b,c)
print 顏色 #iceph.py
sys.stdout.write(“zjk%s” % name) #這個不換行也不會有空格

4.變量
無類型
不推薦使用全局變量,使用的話要在函數內用global 聲明一下

5.解析參數
len(sys.argv) :參數個數,本身腳本名字佔一個 import sys
sys.argv :參數 if “-h” in sys.argv or “–help” in sys.argv
getopt.getopt(sys.argv[1:],’hi:’,[“help”,”input”]) import getopt
第一個參數代表從第一個參數開始解析,第0個是本身
第二參數代表短參,必須是一個字符,後面有:代表參數後必須跟值,-h和-i file
第三個參數代表長參數,–help和–input
eg:for opt,arg in opts:
if opt in (“-h”,”–help”,):
usage()

6.函數
def execShell(shellcmd):
ret,res=commands.getstatusoutput(shellcmd)
if ret == 0: ret = True
else :ret = False
return ret,res

7.json
jsonRes = json.loads({“a”:aaa,”b”:{“b1”:b111,”b2”:[“b21”,”b22”]}}) #json轉字典 import json
jsonRes[“a”]
jsonRes[“b”][“b1”]
jsonres = json.dumps({“a”:aaa,”b”:{“b1”:b111,”b2”:[“b21”,”b22”]}}) #字典轉json

8.獲取hostname和ip
host = socket.gethostname() #import socket
ip = socket.gethostbyname(host) #根據host獲得ip

9.執行shell命令
ret,res = commands.getstatusoutput(“ls -l”) #import commands
成功 ret = 0 ,res:返回字符串

10.入口:
if name == “main”: 
main()
並不是執行某個python文件時從這裏開始執行,也是從上到下執行,只不過到這裏執行裏面的
主要用作其他文件調用這個文件時是執行這個裏面的內容

11.獲取當前時間 import time
print time.time() #時間戳
time.strftime("%H:%M:%S") #10:11:30
time.strftime("%Y-%m-%d") #2016-10-09
time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))

12.字典
dict = {‘Alice’: ‘2341’, ‘Beth’: ‘9102’, ‘Cecil’: ‘3258’}
dict1=dict 字典間賦值
del dict[‘Name’]; # 刪除鍵是’Name’的條目
del dict # 刪除詞典
dict[‘Age’] = 8; # update existing entry
dict[‘School’] = “DPS School”; # Add new entry
cmp(dict1, dict2):比較兩個字典元素。
len(dict):計算字典元素個數,即鍵的總數。
str(dict):輸出字典可打印的字符串表示。
type(variable):返回輸入的變量類型,如果變量是字典就返回字典類型。
radiansdict.clear():刪除字典內所有元素
radiansdict.copy():返回一個字典的淺複製
radiansdict.fromkeys():創建一個新字典,以序列seq中元素做字典的鍵,val爲字典所有鍵對應的初始值
radiansdict.get(key, default=None):返回指定鍵的值,如果值不在字典中返回default值
radiansdict.has_key(key):如果鍵在字典dict裏返回true,否則返回false
radiansdict.items():以列表返回可遍歷的(鍵, 值) 元組數組
radiansdict.keys():以列表返回一個字典所有的鍵
radiansdict.setdefault(key, default=None):和get()類似, 但如果鍵不已經存在於字典中,將會添加鍵並將值設爲default
radiansdict.update(dict2):把字典dict2的鍵/值對更新到dict裏
radiansdict.values():以列表返回字典中的所有值

13.int與str轉化
string–>int
1、10進制string轉化爲int
int('12')
2、16進制string轉化爲int
int('12', 16)
int–>string
1、int轉化爲10進制string
str(18)
2、int轉化爲16進制string
hex(18)

14.三元表達式的實現方式

    a,b=1,2
    max = (a if a > b else b)
    max = (a > b and [a] or [b])[0] #list
    max = (a > b and a or b)

15.操作數據庫

    import MySQLdb
    try:
        conn= MySQLdb.connect(         #連接數據庫,參數可適當增加省略
            host = meta_host,
            port = meta_port,
            user = meta_user,
            passwd= meta_pass,
            db = "tianji",
            connect_timeout = 3,
            )
        #cursor object
        cur = conn.cursor()         #一般都用cursor對象
        check = cur.execute("select * from xxx")     #執行sql ,返回的是多少行而不是所有行
        count = cur.execute("select * from xxx")
        info = cur.fetchmany(count)     #獲取所有行數據  每一行帶有('數據在這裏面,')
        for line in info :
            sys.stdout.write(str(line).strip("(' ,)"))  #顯示每一行數據並去除首尾的(' ,')
        cur.close()    #關閉cursor對象
        conn.commit()  #遞交事務
        conn.close()   #關閉連接
        sys.exit(0)
    except Exception, err:
        print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) + " # productExc Exception %s" % err)
        sys.exit(-1)

16.字符串處理函數
見[Python字符串處理函數]

17.for循環
- 普通for

         li = ['a', 'b', 'e']
         for s in li:      
            print s 

- 計數for
    for i in range(5):      #i從0開始到4,總共5次循環
        print i
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章