Python基础知识实例讲解

来源:互联网 发布:网络会员管理系统免费 编辑:程序博客网 时间:2024/05/19 04:29

Python作为一种面向对象、解释型计算机程序设计语言,语法简洁而清晰,具有丰富和强大的类库,在网站开发,数据处理,网络编程,图形处理,网络爬虫、机器学习、科学计算、自动化测试、系统运维等方面应用广泛。也正是由于Python开发简洁、优雅、开发效率高,它能够在很多地方替代java、C++等语言从而提高程序猿编程效率。作为程序猿,掌握这样一门便捷的编程语言来作为工具显得十分必要。本文主要参考了“极客学院”相关Python入门视频教程,对Python基础入门知识进行了整合,采用代码实例展现的方式,语法知识全部体现在代码中,简洁明了易于理解;本文主要包括三个Python module,分别是hellopython.py、mylib.py、stackqueue.py,涵盖了Python数据类型,常量变量,判断循环,函数,类和对象,模块,数据结构等知识(Python开发编辑器为PyCharm)

hellopython.py

该模块为主模块,负责实现大部分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所有基本语法的使用,仅作参考查询之用。

原创粉丝点击