第一周
python有两种编程方式,交互式和文件式。
交互式:对每个输入语句即时运行结果------适合语法练习
文件式:批量执行一组语句并运行结果------编程的主要方式
实例1:圆面积的计算(根据半径r计算圆面积)

上图明显是交互式运行的结果,如果想编辑文件式运行,则先编辑一个calcircle.py文件,将上述代码写进去。
1.
2.
3.
4. 
5.
然后输入代码 python calcircle.py,命令界面即可输出代码结果。
实例2.下面我们试试绘制多个同心圆的代码:
1 import turtle 2 turtle.pensize(2) 3 turtle.circle(10) 4 turtle.circle(40) 5 turtle.circle(80) 6 turtle.circle(160) 7 turtle.done()
运行结果,如下图所示

下面我们稍微分析一下这段代码
import turtle #导入海龟库 turtle.pensize(2) #设置画笔的大小 turtle.circle(10) #画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆 turtle.circle(40) turtle.circle(80) turtle.circle(160) turtle.done() #必须是乌龟图形程序中的最后一个语句
关于turtle库的使用,之后还会提及,turtle库是python的自带库,绘制图像相对来说比较方便,容易理解
当然上述的代码也可以这样写
from turtle import* #导入海归库 pensize(2) #设置画笔的大小 circle(10) #画图,半径为正(负),表示圆心在画笔的左边(右边)画图 circle(40) circle(80) circle(160) done() #必须是乌龟图形程序中的最后一个语句,防闪退的
大家很容易发现他们的不同,就是第一句的区别,关于import的用法也将在后续章节详细讲述。
要是打成横行,语句之间需要加英文逗号
from turtle import* pensize(2),circle(10),circle(40),circle(80),circle(160),done()
实例3.下面我们来画一个难一点的图形

from turtle import* #导入turtle包的所有内容 color('yellow','red') #同时设置pencolor=color1, fillcolor=color2 begin_fill() #准备开始填充图形 for i in range(5): #画 5 笔就能够结束 fd(200) #向当前画笔方向移动200像素长度 lt(144) #逆时针移动144° end_fill() #填充完成 done() #调用done()使得窗口等待被关闭,否则将立刻关闭窗口:
还可以加入一些改变
保持 5s 后
import time #赋予time意义 from turtle import* color('yellow','red') begin_fill() for i in range(3): #画 3 笔就能够结束 fd(200) lt(144) end_fill() time.sleep(5) #图像保持5s undo() #撤销上一个turtle动作 done()
接着我们从一个简单的小程序来分析python的语法体系
我们大家都知道,华氏温度和摄氏温度之间的转换,我们可以用python编程实现
#TempConvert.py TempStr = input("请输入带有符号的温度值:") #由 输入函数input() ,将 提示符号字符串 后用户在控制台上输入的信息,通过 赋值语句= ,向 变量字符串TempStr 赋予 if TempStr[-1] in ['F','f']: #由 保留字in 判断 TempStr字符串的最后一个字符 是否与 列表['F','f']的元素相同,如果结果为True,则执行 分支语句if (:)后的语句 C = (eval(TempStr[0:-1]) - 32)/1.8 #由 评估函数eval 将 TempStr字符串除了最后一个字符的字符字串 去除最外层引号,使得到的 数值 进入运算 print("转换后的温度是{:.2f}C".format(C)) #利用 输出函数print 的格式化,将 后续变量C 充入 槽{} 中,并在 槽{} 中规定 精度{:.2f} ,向控制台输出字符形式结果 elif TempStr[-1] in ['C','c']: F = 1.8*eval(TempStr[0:-1]) + 32 print("转换后的温度是{:.2f}F".format(F)) else: print("输入格式错误")
缩进:缩进表达程序的格式框架
1、严格明确:缩进是语法的一部分,缩进不正确程序运行错误
2、所属关系:表达代码间包含层次关系的唯一手段
3、长度一致:使用TAB键即可

python编程语言有一个重要的特点就是取消了{ }而用缩进的方式进行代码块的分割,初学者可能不习惯,多写几次就习惯了这种写法。
注释:不被程序执行的辅助性说明信息
单行注释:
#这是单行注释
多行注释:

变量:程序中用于保存和表示数据的占位符号
变量采用标识符(名字)来表示,关联标识符的过程叫命名
TempStr是变量名字
可以使用等号(=)向变量赋值或修改值,=被称为赋值符
TempStr="82F" #向变量TempStr赋值"82F"
命名规则:大小写字母、数字、下划线和汉字等字符
如:TempStr、Python_Great、这是Python课程
注意事项:大小写敏感、首字符不能是数字、不与保留字相同
python与Python是不同的变量,123Python是不合法变量
保留字:被编程语言内部定义并保留使用的标识符
python语言有33个保留字(也叫关键字)
if,elif,else,in
保留字是编程语言的基本单词,大小写敏感
if是保留字,If是变量

数据类型
字符串、整数、浮点数、列表
10,011,101该如何解释呢?
是一个二进制数字?一个十进制数字?一段文本?或者用逗号分隔3个数字?
作为二进制数字,10011101的值是十进制157;
作为一段文本,逗号是文本中的一部分,一共包含10个字符
程序设计语言不允许存在语法歧义,需要定义数据的形式
需要给10,011,101关联一种计算机可以理解的形式
程序设计语言通过一定的方式向计算机表达数据的形式
"123"表示文本字符串123,123则表示数字123
整数类型:10011101
字符串类型:"10,011,101"
列表类型:[10,011,101]
字符串
由0个或多个字符组成的有序字符序列,由一对双引号或一对单引号表示,在Python中,使用单引号或者双引号表达相同含义
如 "helloworld" 或 'GOOD'
详细解释见Python中单引号,双引号,3个单引号及3个双引号的区别_邓无邪的博客-CSDN博客_python 三个引号
字符串是字符的有序序列,可以对其中字符进行索引
如"请"是"请输入带有符号的温度值"这个字符串的第0个字符
python对字符串序号提供了两种索引体系:正向递增,反向递减

字符串的使用
正是因为有字符串的序号体系,我们可以使用 [ ] 获取字符串中一个或多个字符,这表现为字符串的索引和切片操作
索引:返回字符串中单个字符 <字符串>[M]
如:"请输入带有符号的温度值"[0] 将获得字符串中第0个字符"请"
TempStr[-1] 将获取TempStr这样变量字符串的倒数第1个字符
切片:返回字符串中一段字符串 <字符串>[M:N] 取不到N的
如:"请输入带有符号的温度值"[1:3] 将获得字符串中第1个字符,第2个字符,但不到第3个字符的字符字串
TempStr[0:-1] 将获取TempStr从0开始但不到最后一个字符的字符字串
#TempConvert.py TempStr = input("请输入带有符号的温度值:") if TempStr[-1] in ['F','f']: #将取TempStr字符串的最后一个字符 C = (eval(TempStr[0:-1]) - 32)/1.8 #将取TempStr字符串中除了最后一个字符的其余字符字串 print("转换后的温度是{:.2f}C".format(C)) elif TempStr[-1] in ['C','c']: F = 1.8*eval(TempStr[0:-1]) + 32 print("转换后的温度是{:.2f}F".format(F)) else: print("输入格式错误")
数字类型:整数和浮点数
整数:数学中的整数
如:32或-89
浮点数:数学中的实数,带有小数部分
如:1.8或者-1.8或者-1.0
列表类型:由0个或多个数据组成的有序序列
列表使用[ ]表示,采用逗号(,)分隔各元素
[ 'F' , 'f' ]表示列表里含有两个元素'F'和'f'
使用保留字 in 判断一个元素是否在列表中
TempStr[-1] in ['C' , 'c'] 判断前者(TempStr的倒数第1个字符)是否与列表中的某个元素相同
这一段语句将产生一个True真值,或一个False假值
语句与函数
赋值语句:由赋值符号构成的一行代码
赋值符号笔者之前提过,就是我们俗称的等于号,但等于号在编程语言中通常表示赋值,不表示等于号的含义。
1、赋值语句用来给变量赋予新的数据值
C = (eval(TempStr[0:-1]) - 32)/1.8 #右侧运算结果值赋值给C
2、赋值语句右侧的数据类型同时作用于变量
TempStr = input("请输入带有符号的温度值: ") #input返回一个字符串,所以TempStr也是字符串
分支语句:由判断条件决定程序运行方向的语句
使用保留字 if elif else构成条件判断的分支结构
if TempStr[-1] in ['F', 'f']: #如果条件为True则执行冒号后语句
每个保留字所在行最后存在一个冒号(:),是语法的一部分
冒号及后续缩进用来表示后续语句与条件的所属关系,省略将造成程序运行错误
函数:根据输入参数产生不同输出的功能过程
类似于数学中的函数,y=f(x)
print("输入格式错误") #打印出"输入格式错误"
函数采用 <函数名>(<参数>) 的方式使用
eval(TempStr[0:-1]) #TempStr[0:-1]是参数
python的输入输出
输入函数input()
从控制台获得用户输入的函数
input()函数的使用格式:
<变量> = input(<提示信息字符串>)
用户输入的信息以字符串类型(str)保存在<变量>中
如:"请输入"并不作为TempStr的一部分,它是用来提示用户来输入什么样信息的
由用户在控制台输入的信息,会以字符串的类型保存在TempStr这样的变量中
TempStr=input("请输入") #TempStr保存用户输入的信息
输出函数print()
以字符形式向控制台输出结果的函数
print()函数的基本使用格式:
print(<拟输出字符串或字符串变量>)
字符串类型的一对引号仅在程序内部使用,输出时无引号
print("输入格式错误") #向控制台输出 输入格式错误
将输入的各种信息用逗号分隔,输出后每字符串之间会增加空格
for i in range(5): print("Hello:",i) Hello: 0 Hello: 1 Hello: 2 Hello: 3 Hello: 4
print函数的格式化:

此时,前面棕色的 C 为单位,后面黑色的 C 为变量
如果C的值是123.456789,则输出结果为123.45C
评估函数eval()
去掉参数最外侧引号并执行余下语句的函数
eval的基本使用格式:
eval(<字符串或字符串变量>)
>>>eval("1") 1
>>>eval("1+2") 3
>>>eval(' "1+2" ') "1+2"
>>>eval('print("Hello")') Hello
广义上,可以使任何字符串形式的信息,变成Python语句
eval(TempStr[0:-1])
如果TempStr[0:-1]值是"12.3",则输出是:12.3
浙公网安备 33010602011771号