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/
新闻热点
疑难解答