zoukankan      html  css  js  c++  java
  • Python语言编程基础

    Python
    技能目标
    理解编程基本原理和思想
    掌握python语言的基础语法
    能够使用python进行基本的开发工作
    熟练使用项目开发IDE:eclipse,PyDev
    能够使用Python开发简单入门的游戏和网页
    第一节
    概述
    环境配置
    python安装
    python解释器
    配置Windows环境变量
    配置pip和easy install,D:Python27Scripts
    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
    换行符:
    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:UsersAdministratorDesktopsentences.txt','w')
    f.write(some_sentences)
    f.close()
    读入文件
    读文件read是默认的
    f =open('C:UsersAdministratorDesktopsentences.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()
     
     
     
  • 相关阅读:
    SSL工作原理
    xmlhttprequest对象
    form验证的图片(小技巧)
    C#转码
    引用不了App_Code里的类
    再谈如何成为技术领袖
    如何做好年末总结?
    编程习惯
    软件人员推荐书目(都是国外经典书籍!!!)
    又当爹又当妈的产品经理
  • 原文地址:https://www.cnblogs.com/TomBombadil/p/10969381.html
Copyright © 2011-2022 走看看