6Python语言编程基础

2018-02-19  本文已影响8人  Henrytong

Python

技能目标
    理解编程基本原理和思想
    掌握python语言的基础语法
    能够使用python进行基本的开发工作
    熟练使用项目开发IDE:eclipse,PyDev
    能够使用Python开发简单入门的游戏和网页
第一节
    概述
    环境配置
        python安装
            python解释器
            配置Windows环境变量
                配置pip和easy install,D:\Python27\Scripts
        Java环境变量配置
        eclipse下载安装
            在help中查找PyDev进行安装
                在创建项目时需手动加入已安装好的python解释器:Interpreter
            注意:python2.7默认编码格式是ASCII,3.0默认是utf-8
第二节
    数据表示,即数据类型
        概述
            接入一个外接包
                requests:用于提供很多,针对网页上的抓取,以及相关的函数
            字符串
                单引号
                双引号
                三引号
                Format字符串
                使用+号连接字符串
            变量
                命令规则:第一个字符必须是字母或下划线,其余字符可以是字母,数字,下划线,区分大小写
            字面常量
                常量不会被改变
                比如5,6等等固定值
            注释
                #号键
        numerics Type
            int(包含boolean
            float
            complex
            打印数据类型的方法type(变量名)
            运算符//是向下去整
        ,sequences
        ,mappings
        ,classes
        ,instances
        exceptions
第三节
    数据结构
        print打印拓展
            打印中文字符串
                # coding=utf-8
            换行符:\n
        List
            创建list
                不要求list中必须有相同元素
            打印list
                在打印时,需要将list类型转化为str
                    str(list名)
            访问list
                list名[]
        元祖tuple
            创建之后无法被更改,删除和修改都不行
            将list中的方括号改为圆括号即可
            list中可以使用的函数,tuple都可以使用
        list和tuple的对比
            tuple中可以包含list
                mixed_tuple = (1,2,['a','b'])
            Tuple是不可变的list
            相同点
                定义方式相同
                元素都是按次序排列
                索引都是从0开始
                负数索引与list一样从tuple的尾部开始计数
            不同点
                tuple没有append或extend方法
                tuple没有remove或pop方法
            tuple可以一次赋多值
            内置函数
                len([1,2,3])
                    打印list长度
                【‘Hello’】* 4
                    对一个list元素进行重组
                list[-1]
                    代表从右边开始数第2位
                list[1:]
                    代表从第二个元素开始的所有元素
                3 install【1,2,3】
                    判断一个元素是否在list中
                [1,2,3]+[4,5,6]
                    拼接
        dictionnary
            键值对
            常用方法
                创建
                    phone_book = {'Tom':123,'Jerry':456,'kim':789}
                修改
                    phone_book["Tom"] = 888
                新增
                    phone_book["Henry"] = 666
                删除
                    del phone_book["kim"]
                清空内容
                    phone_book.clear()
                删除dictionnary
                    del phone_book
            特性
                一个键必须是唯一的
                    当有重复时不会报错,会依次取第一个出现的键
                键是不变的
                    不能使用list充当键
                    字符串
                    数组
                    元组tuple
            内置函数
                比较两个字典元素
                    cmp(dict1,dict2)
                计算字典元素个数,即键的总数
                    len(dict)
                输出字典可打印的字符串表示
                    str(dict)
                返回输入的变量类型,如果变量是字典就返回字典类型
                    type(variable)
            内置方法
                删除字典内所有元素
                    radiansdict.clear()
                返回一个字典的浅复制
                    radiansdict.copy()
                创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
                    radiansdict.fromkeys()
                返回指定键的值,如果值不在字典中返回default值
                    radiansdict.get(key,default=None)
                如果键在字典dict里返回true,否则返回false
                    radiansdict.has_key(key)
                以列表返回可遍历的键值元组数组
                    radiansdict.items()
                以列表返回一个字典所有键
                    radiansdict.keys()
                和get()类似,但如果键没有存在于字典,并将添加键并将值设为default
                    radiansdict.setdefault(key,default=None)
                把字典dict2的键/值对更新到dict里
                    radiansdict.update(dict2)
                以列表返回字典中的所有值
                    radiansdict.values()
    函数Function
        def定义函数
            def say_hi():
        带参数的函数
            设置参数的默认值
                def repeat_str(str,times = 1):
            参数的取值:形参和实参是一一对应的关系
            *nums代表元组
            **words代表数组
                word = "python",another_word = "java"
        return:返回函数值
        全局变量
            global
            可以在函数内进行定义,定义后变量的值为之后改变的值
        局部变量
第四节
    Control Flow控制流
        if for语句
        for语句
            for i in range(1,10):
                rang指定一个整数范围,包括第一个值不包括最后一个值
            遍历list,tuple,dictionnary
        用户输入函数
            input
        while语句
            当某个条件成立的时候会一直运行循环体,直到条件不成立
            while guess_flag == False:
        break
            跳出当前循环,执行循环之后的代码
        continue
            忽略continue之后的代码,继续从循环头开始
        pass
            继续执行帕森斯之后的代码,可以理解为什么也不做
第五节
    输入输出
        接受用户的输入:input()
            str_1 = input("Enter a string: ")
            str_2 = input("Enter another string: ")
            python2.7要求输入字符串格式的数据
        输入格式:str(),format
            print("str_1 is : " + str(str_1) + "str_2 is :" + str(str_2))
            print("str_1 is {1} + str_2 is {0}".format(str_1,str_2))
        写出文件
            # 创建一个open实体对象,sentences.txt可以为绝对路径,‘w’表示写文件模式
            f = open('C:\Users\Administrator\Desktop\sentences.txt','w')
            f.write(some_sentences)
            f.close()
        读入文件
            读文件read是默认的
            f =open('C:\Users\Administrator\Desktop\sentences.txt')
            while True:
                line = f.readline()
                if len(line) == 0:
                    break
                print(line)
            f.close()
第六节
    异常处理
        语法
            try:
            <语句>        #运行别的代码
            except <名字>:
            <语句>        #如果在try部份引发了'name'异常
            except <名字>,<数据>:
            <语句>        #如果引发了'name'异常,获得附加的数据
            else:
            <语句>        #如果没有异常发生
        语法错误(Syntax Errors)
            while True:
                try:
                    x = int(input("Please enter a number"))
                    break
                except ValueError:
                    print("Not valid input,try again.......")
        异常(Exceptions)
            try:
                f = open('myfile.txt')
                s = f.readline()
                i = int(s.strip())
            except OSError as err:
                print("OS error: {0}".format(err))
            except ValueError:
                print("Could not convert data to an integer.")
第七节
    面向对象处理(Object-Oriented)
        类(class)
            现实世界中的一些事物的封装,如:学生
            属性,如名字、成绩
        引用
            通过引用对类的属性和方法进行操作
        实例化
            创建一个类的具体事例对象,如学生张三
        代码
            class Student:
                def __init__(self,name,grade):
                    self.name = name
                    self.grade = grade
                    
                def introduce(self):
                    print("hi! I'm "+ self.name)
                    print("My grade is : "+ str(self.grade))
                def improve(self,amount):
                    self.grade = self.grade + amount
                    print("My grade add : "+ str(self.grade))
            Henry = Student("Henry",99)
            Henry.introduce()
            Henry.improve(1)
        设计代码思路
            初始化参数
            自我介绍
            增加分数
            创建对象
            对象调用方法
    装饰器(decorator)
        代码设计思路
            定义一个做蛋糕函数
            定义一个加蜡烛函数
            通过装饰器功能加蜡烛
            输出加蜡烛后的结果
        装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用
        @符号是装饰器的语法糖,在定义函数的时候使用,避免再一次赋值操作
        代码
            def add_candles(cake_func):
                def insert_candles():
                    return cake_func() + "and candles"
                return insert_candles
            # 注意:return cake_func()加括号表示函数执行完成的结果;return insert_candles表示函数对象
            
            @add_candles
            def make_cake():
                return "cakes 22"
                print(6)
            # @add_candles这句话相当于make_cake = add_candles(make_cake)
            print(make_cake())
第八节
    开发一个小游戏
        GUI:Graphical User Interface
            创建一个GUI程序
                    1、导入 Tkinter 模块
                    2、创建控件
                    3、指定这个控件的 master, 即这个控件属于哪一个
                    4、告诉 GM(geometry manager) 有一个控件产生了。
        tkinter:GUI library for Python
            Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .
        代码
            from Tkinter import *  #导入库
            import Tkinter         #导入包
            import tkMessageBox    #导入包
            top = Tkinter.Tk()
            w = Label(top,text = "abc")
            w.pack() # 将小部件放置到主窗口中
            # tkMessageBox.showinfo("title", "message")
            tkMessageBox.askyesnocancel("问答", "Enter a number")
            top.mainloop()# 进入消息循环
第九节
    制作一个简单网页
        1. 安装python2.7
            easy_install windows installer(python 2.7 32bit)
        2. 安装lpthw.web
            easy_install lpthw.web
        3. 创建目录
        4. 目录下创建app.py
        代码
            import web
            
            urls = ('/','index')
            
            app = web.application(urls,globals())
            
            class index:
                def GET(self):
                    greeting = "Hello!"
                    return greeting
                
            if __name__ == "__main__":
                app.run()
上一篇下一篇

猜你喜欢

热点阅读