第一周

  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

 

posted @ 2022-01-11 01:23  半面瘫  阅读(228)  评论(0)    收藏  举报