目录

  • 单元1  初识Python
    • ● 任务 1.1  计算机程序设计语言概述
    • ● 任务 1.2 Python语言
    • ● 任务1.3 Python开发环境搭建
    • ● 任务 1.4 Python的简单使用
    • ● 知识拓展
    • ● 思考与练习
  • 单元2   Python基础知识
    • ● 任务2.1 Python程序基本结构
    • ● 任务2.2  标准输入输出
    • ● 任务2.3  Python对象
    • ● 任务2.4 Python变量
    • ● 任务2.5  数据类型
    • ● 任务2.6 字符串
    • ● 任务2.7 运算符
    • ● 知识拓展
    • ● 思考与练习
  • 单元3   程序流程控制
    • ● 任务3.1  顺序结构
    • ● 任务3.2 选择结构
    • ● 任务3.3  循环结构
    • ● 知识拓展
    • ● 思考与练习
  • 单元4  Python序列
    • ● 任务4.1  序列
    • ● 任务4.2 列表
    • ● 任务4.3  用于序列操作的常用内置函数
    • ● 任务4.4   元组
    • ● 任务4.5  字典
    • ● 任务4.6  集合
    • ● 知识拓展
    • ● 思考与练习
  • 单元5  函数
    • ● 任务5.1 函数的定义与调用
    • ● 任务5.2 函数的参数
    • ● 任务5.3   参数类型
    • ● 任务5.4  变量作用域
    • ● 任务5.5   嵌套调用与递归调用
    • ● 任务5.6  lambda表达式
    • ● 任务5.7  模块
    • ● 知识拓展
    • ● 思考与练习
  • 单元6  异常处理
    • ● 任务6.1 异常处理的基本概念
    • ● 任务6.2 Python的异常处理语句
    • ● 任务6.3  自定义异常
    • ● 知识扩展
    • ● 思考与练习
  • 单元7  文件操作
    • ● 任务7.1  文件的分类
    • ● 任务7.2  文件对象
    • ● 任务7.3  文本文件
    • ● 任务7.4  二进制文件
    • ● 知识拓展
    • ● 思考与练习
  • 单元8  面向对象程序设计
    • ● 任务8.1 面向对象技术的基本概念
    • ● 任务8.2 类与对象
    • ● 任务8.3 类的继承
    • ● 任务8.4 方法重写
    • ● 知识扩展
    • ● 思考与练习
  • 单元9  网络编程基础
    • ● 任务9.1  Socket概述
    • ● 任务9.2   Socket对象内建方法
    • ● 任务9.3  Socket编程实例
    • ● 任务9.4    PythonInternet模块
    • ● 知识扩展
    • ● 思考与练习
  • 单元10    Python标准库及第三方库
    • ● 任务10.1 Python标准库
    • ● 任务10.2 Python第三方库的下载及安装
    • ● 任务10.3  Python第三方库举例
    • ● 知识扩展
    • ● 思考与练习
  • 任务11 用户图形界面(GUI)
    • ● 任务11.1 图形用户界面概述
    • ● 任务11.2 窗体容器和组件
    • ● 任务11.3 界面布局管理
    • ● 任务11.4 文本框组件
    • ● 任务11.5 其他组件
    • ● 任务11.6菜单与对话框
    • ● 任务11.7 鼠标键盘事件
    • ● 知识扩展
    • ● 思考与练习
  • 任务12   Python操作数据库
    • ● 数据库基础
    • ● 结构化查询语言SQL
    • ● Python操作数据库核心API
    • ● Python操作数据库案例
    • ● sqlite3 实训练习案例
    • ● pymysql 数据库实训案例
    • ● 小结  思考与练习
  • 习题解析(线上作业等参考解答)
    • ● 第一单元 初识Python  作业
    • ● 第二单元  Python基础(作业)
    • ● 第三单元  程序流程控制 作业(1)
    • ● 第三单元  程序流程控制  作业(2)
    • ● 第四单元  Python序列   作业
    • ● 第五单元   函数   作业
    • ● 单元六  异常处理  作业
    • ● 单元七、八  文件操作,GUI,面向对象
    • ● 单元九   网络编程基础
    • ● 线上习题解析
    • ● 编程训练
  • 应用题解(综合编程技术)
    • ● 《食品识别小专家》
    • ● 格式输出
    • ● 习题选解
    • ● 每日一帖
    • ● 模拟基本信息
    • ● 模拟基本数据
    • ● 数制转换
    • ● 定制每日运动计划
    • ● 《简易购物系统》
  • 课程章节测验
    • ● 第1次章节测验
  • 复习
    • ● Python基础知识总结
  • 第三方库TOOLS(备用)
    • ● 库模块(可下载)
    • ● 供考查备用的库模块(可下载)
知识拓展

#pywb.py  应用示例  交互绘制椭圆

from tkinter import *

rt=Tk()

rt.title('HX-交互绘制椭圆')

w=Canvas(rt,width=400,height=400,background='white')

w.pack()

def point(event):

  #event.x 鼠标左键的横坐标

  #event.y 鼠标左键的纵坐标

  x1,y1=(event.x-5),(event.y-5)

  x2,y2=(event.x+5),(event.y+5)

  w.create_oval(x1,y1,x2,y2,fill='red')

def paint(event):

  x1,y1=(event.x-5),(event.y-5)

  x2,y2=(event.x+5),(event.y+5)

  w.create_oval(x1,y1,x2,y2,fill='red')

#单击鼠标左键,画出一个小圆

#画布与鼠标左键进行绑定

w.bind("<Button-1>",point)

w.bind("<B1-Motion>",paint)

rt.mainloop()


# 示例  btmove.py

import tkinter as tt

import time

def popwin():

    for i in range(420):

        bt.place(x=i,y=180)

        time.sleep(0.002)

        rt.update()

rt=tt.Tk(className='欢迎')

rt.geometry('500x400+300+200')

bt=tt.Button(rt,text='单击移动  欢迎您!',width=16,command=popwin)

bt.pack()

bt.place(x=220,y=180)

rt.mainloop()


'简易计算器' Cala.py

from tkinter import *

rt=Tk()

rt.title('简易计算器')

rt.minsize(280,360)

ret1=StringVar()

ret1.set(0)

ret2=StringVar()

ret2.set('')

#显示

label1=Label(rt,font=('微软雅黑',19),bg='#EEEEEE',

    bd ='9',fg='#888888',anchor='se',textvariable=ret2)

label1.place(y=-120,width=280,height=170)

label2=Label(rt,font=('微软雅黑',19),bg='#EEEEEE',

    bd ='9',fg='black',anchor='se',textvariable=ret1)

label2.place(y=45,width=280,height=40)

#数字键

btn7=Button(rt,text='7',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda : pnum('7'))

btn7.place(x=0,y=140,width=70,height=55)

btn8=Button(rt,text='8',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda : pnum('8'))

btn8.place(x=70,y=140,width=70,height=55)

btn9=Button(rt,text='9',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda : pnum('9'))

btn9.place(x=140,y=140,width=70,height=55)

btn4=Button(rt,text='4',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda : pnum('4'))

btn4.place(x=0,y=195,width=70,height=55)

btn5=Button(rt,text='5',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda : pnum('5'))

btn5.place(x=70,y=195,width=70,height=55)

btn6=Button(rt,text='6',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda : pnum('6'))

btn6.place(x=140,y=195,width=70,height=55)

btn1=Button(rt,text='1',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda : pnum('1'))

btn1.place(x=0,y=250,width=70,height=55)

btn2=Button(rt,text='2',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda : pnum('2'))

btn2.place(x=70,y=250,width=70,height=55)

btn3=Button(rt,text='3',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda : pnum('3'))

btn3.place(x=140,y=250,width=70,height=55)

btn0=Button(rt,text='0',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda : pnum('0'))

btn0.place(x=70,y=305,width=70,height=55)

#运算符号

btnac=Button(rt,text='Ac',bd=0.5,font=('黑体',20),fg='#5E5E5E',

    command=lambda :pcom('Ac'))

btnac.place(x=0,y=85,width=70,height=55)

btnback=Button(rt,text='←',font=('微软雅黑',19),fg='#5E5E5E',

    bd=0.5,command=lambda:pcom('b'))

btnback.place(x=70,y=85,width=70,height=55)

btndivi=Button(rt,text='÷',font=('微软雅黑',19),fg='#5E5E5E',

    bd=0.5,command=lambda:pcom('/'))

btndivi.place(x=140,y=85,width=70,height=55)

btnmul=Button(rt,text ='×',font=('微软雅黑',19),fg="#5E5E5E",

    bd=0.5,command=lambda:pcom('*'))

btnmul.place(x=210,y=85,width=70,height=55)

btnsub=Button(rt,text='-',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda:pcom('-'))

btnsub.place(x=210,y=140,width=70,height=55)

btnadd=Button(rt,text='+',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda:pcom('+'))

btnadd.place(x=210,y=195,width=70,height=55)

btnequ=Button(rt,text='=',bg='#DDDDDD',font=('微软雅黑',20),

    fg=('#5E5E5E'),bd=0.5,command=lambda :pequ())

btnequ.place(x=210,y=250,width=70,height=110)

btnper=Button(rt,text='%',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda:pcom('%'))

btnper.place(x=0,y=305,width=70,height=55)

btnpoint=Button(rt,text='.',font=('微软雅黑',19),fg=('#5E5E5E'),

    bd=0.5,command=lambda:pcom('.'))

btnpoint.place(x=140,y=305,width=70,height=55)

lists=[]

presig=False

isprenum=False

#按键

def pnum(num):

    global lists

    global presig

    if presig==False:

        pass

    else:

        ret1.set(0)

        presig=False

    old=ret1.get()

    if old=='0':

        ret1.set(num)

    else:

        new=old+num

        ret1.set(new)

#运算

def pcom(sig):

    global lists

    global presig

    num=ret1.get()

    lists.append(num)

    lists.append(sig)

    presig=True

    if sig =='Ac':

        lists.clear()

        ret1.set(0)

    if sig =='b':

        a=num[0:-1]

        lists.clear()

        ret1.set(a)

#结果

def pequ():

    global lists

    global presig

    curnum=ret1.get()

    lists.append(curnum)

    comstr=''.join(lists)

    endnum=eval(comstr)

    ret1.set(endnum)

    ret2.set(comstr)

    lists.clear()

rt.mainloop()