Python作為一種面向對象、解釋型計算機程序設計語言,語法簡潔而清晰,具有豐富和強大的類庫,在網站開發,數據處理,網絡編程,圖形處理,網絡爬蟲、機器學習、科學計算、自動化測試、系統運維等方面應用廣泛。也正是由于Python開發簡潔、優雅、開發效率高,它能夠在很多地方替代java、C++等語言從而提高程序猿編程效率。作為程序猿,掌握這樣一門便捷的編程語言來作為工具顯得十分必要。本文主要參考了“極客學院”相關Python入門視頻教程,對Python基礎入門知識進行了整合,采用代碼實例展現的方式,語法知識全部體現在代碼中,簡潔明了易于理解;本文主要包括三個Python module,分別是hellopython.py、mylib.py、stackqueue.py,涵蓋了Python數據類型,常量變量,判斷循環,函數,類和對象,模塊,數據結構等知識(Python開發編輯器為PyCharm)
該模塊為主模塊,負責實現大部分Python基礎語法及其測試,從該模塊我們看到幾乎所有的Python基礎句法的使用方法
代碼:
# coding=UTF-8__author__ = 'xiaoyong'from math import *from stackqueue import *from mylib import Hifrom collections import Counterfrom itertools import combinationsimport mylibimport sysclass HelloPy: def helloPy(self, param): '''文檔字符串:該函數用于測試變量定義,判斷語句 循環語句''' # 定義變量 global globalVar globalVar = 10 var1 = 10 var2 = 20 var3 = var1 + var2 PRint(var3) # 判斷語句 if param >= 60: print("{0} > 60".format(param)) elif param > 0: print("{0} > 0".format(param)) else: print("{0} < 60 && 0 > {1}").format(param, "param") # 循環語句 for i in range(0, 10, 2): print(i) var4 = 0 while var4 < 3: print(var4) var4 += 1 else: print("else var4={0}".format(var4))# 形參設置默認初始值def fuc1(a, b=1, c=2): print(a);print(b);print(c)def fuc2(a, b=1): print(a) return bdef fuc3(): return (1, 2, 3)# Python常用tips def fuc_python_tips(): print('/nPython常用tips: ') # 交換變量 var1 = 0 var2 = 1 var1, var2 = var2, var1 print var1, var2 # if語句在行內 print('hello') if 1 != 1 else 'world' print('hello' + str(var1)) # 數字技巧 print 5.0 // 2, 5.0 / 2, 2 ** 5, .3 / .1, .3 // .1 var3 = 2 if 1 < var3 < 3: print(var3) # 列表迭代 list1 = ['a', 'b', 'c'] list2 = ['d', 'e', 'f'] for a, b in zip(list1, list2): print a + " vs " + b for index, a in enumerate(list1): print index, a list3 = [0] * 3 list3.append(2) print(list3) # 列表-->字符串 print(','.join(list1)) # 獲取列表子集 x = [1, 2, 3, 4, 5, 6] # 前3個 print x[:3] # 中間4個 print x[1:5] # 最后3個 print x[-3:] # 奇數項 print x[::2] # 偶數項 print x[1::2] # 統計單個字母數目 print Counter('hello') # 列出所有組合方式 for t in combinations(x, 2): print(t)# python標識符首字符只能是下劃線或者字母,其他部分可以是下劃線、字母、數字;標識符對大小寫敏感print(sys.version);print ("模塊名:{0}").format(__name__)print(pi)help(HelloPy.helloPy)# 列出模塊定義的標識符,標識符有函數、類和變量print dir(sys)print(HelloPy.helloPy.__doc__)# 引用mylib.py模塊調用函數h = mylib.Hello("mylib")h.sayHello()h1 = Hi("mylib")h1.sayHi()h2 = HelloPy()h2.helloPy(15)# 全局變量print(globalVar)fuc1(b=2, a=3)var1 = fuc2(2, 3)print(var1)var2 = fuc3()print(var2)m1, m2, m3 = fuc3()print("{0} {1} {2}".format(m1, m2, m3))fuc_python_tips()# 引號str1 = 'It is a "dog"'str2 = "It's a dog"str3 = '''sheIyou'''print("{0} {1}".format(str1, str2))# 字符串重復輸出print(str3) * 3# 轉義符print('It/'s a dog/nyou are not')print"women/doushihaohaizi"# 自然字符串print(r"It's a dog /n you are not")# 子字符串,索引和切片兩種方式print(str1[1]);print(str1[0:3]);print(str1[:3]);print(str1[3:]);# set,求兩個set的& | - 重復元素print("/n集合 列表 元組 字典測試:")var3 = set('aaabbc')# 集合中不能有重復元素newVar = set(var3)print(newVar)# 列表,數據可以修改students = ["a", 'b', "c"]print(students[1])# 元組,數據不可修改students = ("a", 'b', "c")print(students[1])# 字典dic = {'姓名': 'xiaoyong', "性別": "男"}dic['興趣'] = '音樂'print(dic['興趣'])print(dic.get('姓名'))# 棧測試print("/n棧測試:")stack = Stack()stack.push(1)stack.push(2)stack.push(3)print(stack.length())print(stack.isEmpty())print(stack.top())stack.pop()print(stack.top())# 隊列測試print("/n隊列測試:")queue = Queue()queue.enQueue(1)queue.enQueue(2)queue.enQueue(3)print(queue.length())print(queue.isEmpty())print(queue.head())print(queue.tail())queue.deQueue()print(queue.head())print(queue.tail())mylib.py
該模塊為引用模塊,實現兩個類,Hello為父類,Hi為子類
代碼:
# coding=UTF-8__author__ = 'xiaoyong'class Hello: def __init__(self, name): self._name = name def sayHello(self): print("class Hello: sayHello") print ("模塊名:{0}").format(__name__)# 類的繼承class Hi(Hello): def __init__(self, name): Hello.__init__(self, name) def sayHi(self): print("class Hi: sayHi")stackqueue.py
該模塊為引用模塊,Stack和Queue類分別實現棧和隊列兩種數據結構
代碼:
# coding= utf-8__author__ = 'xiaoyong'# 棧實現class Stack(object): def __init__(self): self.stack = [] def push(self, item): self.stack.append(item) def pop(self): if self.stack != []: return self.stack.pop(-1) else: return None def top(self): if self.stack != []: return self.stack[-1] else: return None def length(self): return len(self.stack) def isEmpty(self): return self.stack == []# 隊列實現class Queue(object): def __init__(self): self.queue = [] def enQueue(self, item): self.queue.append(item) def deQueue(self): if self.queue != []: return self.queue.pop(0) else: return None def head(self): if self.queue != []: return self.queue[0] else: return None def tail(self): if self.queue != []: return self.queue[-1] else: return None def length(self): return len(self.queue) def isEmpty(self): return self.queue == []結語
以上三個模塊基本涵蓋了Python所有基本語法的使用,僅作參考查詢之用;如需深入學習Python相關知識,比如RESTful API開發,web2Py,Flask等框架使用,請Google之或參考相關官網。
from: http://charles-xiao.github.io/2015/08/01/Python%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E5%AE%9E%E4%BE%8B%E8%AE%B2%E8%A7%A3/
新聞熱點
疑難解答