主要内容 #
什么是编程
编程的作用
编程语言的概念
Python历史
Python特点
1. 初识计算机及编程 #
计算机在硬件设计制造的时候,就已经被人设计了一些最基本的指令,用来规定该计算机能够进行的基本操作。
每一条基本指令都规定了计算机系统的一个特定动作,这些指令一起构成了该计算机的指令系统。
编程,即编写程序。
编写程序的过程,可以理解为:
在遵循特定的编程语言规则下,去编写一系列的代码,让计算机按照人类的逻辑和思想去完成所需要的任务。
在计算机应用的初期,程序员使用计算机自带的基本指令(也称为机器语言)来编写计算机程序。
直接使用机器语言编写程序的优点是执行效率非常高,但缺点是编程工作量极大,不容易记忆,通用性差,而且容易出错。
所以后来发展出了许多高级编程语言,使得编写程序更加简单,方便。
2. 编程的作用 #
- 通过编程,可以让计算机帮助我们高效地完成很多重复、繁琐、以及人类难以完成的的工作
- 生活中很多应用都是通过编程实现的,比如游戏、视频娱乐、社交软件
例如:通过编程的形式对数字进行从小到大的顺序进行排序:
以下程序使用冒泡排序法:
import random
import time
arr = []
for i in range(10000):
arr.append(random.randint(1,10000))
#冒泡排序
def Sort_bubble(arr):
for i in range(len(arr)):
for j in range(len(arr)-i-1):
if arr[j]>arr[j+1]:
arr[j],arr[j+1]=arr[j+1],arr[j]
return arr
print('排序前:',arr)
temp = input("请按回车键开始排序: ")
print("排序开始,请稍等......")
sTime=time.time()
print('排序后:',Sort_bubble(arr)) #冒泡排序
eTime=time.time()
print('排序总共用时:',eTime-sTime,'秒')
以下程序使用快速排序法:
import random
import time
arr = []
for i in range(10000):
arr.append(random.randint(1,10000))
#快速排序
def partition(arr,low,high):
i = ( low-1 )
pivot = arr[high]
for j in range(low , high):
if arr[j] <= pivot:
i=i+1
arr[i],arr[j]=arr[j],arr[i]
arr[i+1],arr[high]=arr[high],arr[i+1]
return (i+1)
def Sort_quick(arr,low,high):
if low < high:
p=partition(arr,low,high)
Sort_quick(arr, low, p-1)
Sort_quick(arr, p+1, high)
return arr
print('排序前:',arr)
temp = input("请按回车键开始排序: ")
print("排序开始,请稍等......")
sTime=time.time()
print('排序后:',Sort_quick(arr,0,len(arr)-1)) #快速排序
eTime=time.time()
print('排序总共用时:',eTime-sTime,'秒')
以下是一个用Python编写的抽奖程序:
import time
import threading
import tkinter as tk # 导入 tk库 模块
import random # 导入 随机库 模块
root = tk.Tk() #初始化Tk() 建立一个窗口
root.title('大师码简易抽奖') # 设置标题
root.minsize(1220, 930)
label1 = tk.Label(root, text='谢谢惠顾', bg='yellow', font=('Arial', 40))
label1.place(x=5, y=225, width=300, height=220)
label2 = tk.Label(root, text='作业一份', bg='yellow', font=('Arial', 40))
label2.place(x=5, y=5, width=300, height=220)
label3 = tk.Label(root, text='谢谢惠顾', bg='yellow', font=('Arial', 40))
label3.place(x=305, y=5, width=300, height=220)
label4 = tk.Label(root, text='三等奖', bg='yellow', font=('Arial', 40))
label4.place(x=605, y=5, width=300, height=220)
label5 = tk.Label(root, text='再来一次', bg='yellow', font=('Arial', 40))
label5.place(x=905, y=5, width=300, height=220)
label6 = tk.Label(root, text='谢谢惠顾', bg='yellow', font=('Arial', 40))
label6.place(x=905, y=225, width=300, height=220)
label7 = tk.Label(root, text='三等奖', bg='yellow', font=('Arial', 40))
label7.place(x=905, y=445, width=300, height=220)
label8 = tk.Label(root, text='谢谢惠顾', bg='yellow', font=('Arial', 40))
label8.place(x=905, y=665, width=300, height=220)
label9 = tk.Label(root, text='一等奖', bg='yellow', font=('Arial', 40))
label9.place(x=605, y=665, width=300, height=220)
label10 = tk.Label(root, text='谢谢惠顾', bg='yellow', font=('Arial', 40))
label10.place(x=305, y=665, width=300, height=220)
label11 = tk.Label(root, text='二等奖', bg='yellow', font=('Arial', 40))
label11.place(x=5, y=665, width=300, height=220)
label12 = tk.Label(root, text='再来一次', bg='yellow', font=('Arial', 40))
label12.place(x=5, y=445, width=300, height=220)
label13 = tk.Label(root, text='最终解释权归【大师码教育】所有', bg='white', font=('Arial', 10))
label13.place(x=900, y=885, width=300, height=50)
# 将所有抽奖选项添加到列表
things = [label1, label2, label3, label4, label5, label6, label7, label8, label9, label10,label11, label12]
# 获取列表的最大索引值
maxvalue = len(things) - 1
# 设置起始值为随机整数
starts = random.randint(0, 6)
# 是否停止标志
notround = False
# 定义滚动函数
def round():
t = threading.Thread(target=startup) #启动start
t.start()
# 定义开始函数
def startup():
global starts
global notround
while True:
# 检测停止按钮是否被按下
if notround == True:
notround = False
return starts
# 程序延时
time.sleep(0.017)
# 在所有抽奖选项中循环滚动
for i in things:
i['bg'] = 'lightSkyBlue' #开始时 底色变成天蓝
things[starts]['bg'] = 'red' #滚动框为 红色
starts = starts + 1
if starts > maxvalue:
starts = 0
# 定义停止函数
def stops():
global notround # notround 为全局变量
global starts
notround = True #停止标志位
if starts == 1: # 如果抽中“数学作业”就跳转为“谢谢惠顾”【想多写作业,不可能!!!^_^】
starts = 2
# 设置启动按键 背景文本为“RUN” 底色为“天蓝” 字体“Arial” 字体大小“40” 回调函数command 为【滚动函数】
btn1 = tk.Button(root, text='开始', bg='lightSkyBlue', font=('Arial', 40), command=round)
#设置按键坐标
btn1.place(x=400, y=350, width=200, height=200)
# 设置停止按键 背景文本为“RUN” 底色为“红色” 字体“Arial” 字体大小“40” 回调函数command 为【停止函数】
btn2 = tk.Button(root, text='停止', bg='red', font=('Arial', 40), command=stops)
#设置按键坐标
btn2.place(x=600, y=350, width=200, height=200)
# 循环,时刻刷新窗口
root.mainloop()
3. 编程语言的概念 #
人类用自己的语言进行交流,而计算机则用编程语言进行交流。
所以只要人类学会了编程语言,就可以与计算机交流。
人类用于交流的语言很多,比如:汉语、英语、日语、法语等等。
计算机用于交流的语言也很多,比如:机器语言、汇编、Scratch、c、c++、Java、PHP、Python等。
严格来说,计算机只有一种语言,那就是二进制,俗称机器语言,比如:01000110。
那计算机是如何理解其它的编程语言呢?
人类给计算机创造了能够同时让计算机以及人类理解的语言,
然后通过已有的机器语言,去编写了一个翻译程序,该翻译程序将所创造的语言翻译成机器语言。
这样计算机就能理解我们通过编程语言来写的指令了。

以下为编写语言的关系:
最下层的是机器语言,只能执行由0和1组成的指令。
为了方便理解机器语言,莫奇莱等人想到用助记符来代替0,1代码,于是汇编语言出现了。
但是汇编语言在程序方面依然比较复杂,也具有较高的出错率。
后来人们对多条指令进行整合,将其变为单条指令,这样其他人就不需要关注期间的操作细节和过程。
由此不端发展出了多种编程语言,多种编程语言又再次进行组合,这就成了高级语言。
Python就属于高级语言。

4. Python历史 #
1989年的圣诞节,一个名叫 Guido von Rossum 的荷兰程序员为了打发无聊的圣诞节假期开始写 Python 语言的编译/解释器。
1991年,第一个 Python 编译器(解释器)诞生,它用C语言实现。
2000年10月16日,Python 2.0版本产生。
2008年12月3日,Python3.0版本产生。
现如今,Python已经被广泛应用在了各种领域,包括工程、信息技术、科学、商务、娱乐等。
许多知名的大公司都在使用Python,例如:Google、NASA、迪斯尼、皮克斯和梦工厂等。
Guido van Rossum(荷兰人),从阿姆斯特丹大学获得了数学和计算机硕士学位。
所以他可以称得上是一名数学家,或者更确切点是精通数学与计算机的复合型人才。

5. Python特点 #
- 简单易学
Python语法简单,极易上手
- 免费、开源
可以对它的源代码进行拷贝,修改,发布,或者应用于自己写的软件中。
- 可移植性好
Python已经被移植到许多平台上,所以Python程序可以在很多平台上运行,比如:
Linux\Windows\OS\Macintosh\VMS\PlayStation等等
- 可扩展性好
Python可以直接调用C或C++编写的程序,以此运行一些速度要求很高的应用
- 非常丰富的库
有着非常庞大的库可供调用,以处理各种工作,包括文件、数据库、网页、图形用户界面等等
6. 小结 #
- 编程,就是在遵循特定的编程语言规则下,去编写一系列的代码
- 编程语言为计算机可以理解的语言
- Python之父是Guido von Rossum
习题 #
- 根据这节课所讲的内容,尽情发挥自己的想像,描述自己对编程的理解。