Python语言程序设计-学习笔记3:Python编程之实例解析

第二周:Python编程之实例解析

2.1 Python语法元素入门


1.Python程序元素分析:

    语法少;接近人类语言习惯;

缩进:
    1个缩进 = 4个空格;
    缩进是用以在Python中标明代码之间的层次关系;
    缩进是Python语言中表明程序框架的唯一手段;

注释:
    代码中加入的辅助说明信息;
    帮助程序员记录程序设计方法,辅助程序阅读;
单行注释:#开头;
多行注释:'''... ''' 即三个单引号开头和结尾;

变量:
    表示值的名称;

命名:
    给程序中自定义元素关联名字的过程;
    命名需要保证在程序汇总,名字具有唯一性;
    规则:
        大小写字母、数组、下划线组合;首字母不能是数字,不能使用空格;
        中文等非字母符号也可以作为名字;
        大小写名字;

33个保留字:
Python语言程序设计-学习笔记3:Python编程之实例解析_第1张图片
变量名不能与保留字相同;

表达式:
    程序中产生或计算新数值的一行代码;
    Python语言的33个保留字或者操作符可以产生复合语法的表达式;
    
空格的使用:
    行代码前表示缩进的空格不能改变;
    空格不能将一个命名分割;
    除上述情况外,程序中可以使用任意空格增加程序可读性;

输入函数:
    input()函数从控制台获得用户输入;
    <变量> = input(<提示性文字>)
    获得用户输入以字符串形式保留在变量中;

字符串:
    字符序列;
    字符串以单引号/双引号表示;
    长度L:
        第一个位置的索引值为0或-L;
        最后一个位置的索引值为L-1 或 -1;

例:
    val = 28C
    val[-1]为C
    前两个字符串组成的子串可以用val[0:2]表示,[0,2)的区间;

保留字if:
    分支语句;
    if…elif…elif…else...

保留字in:
    二元关系操作;
    判断左侧内容是否在右侧集合中;
    if val[-1] in [‘C’,’c’]:

赋值语句:
    x和y变量交换:
    1)单个赋值语句:
        t=x
        x=y
        y=t
    2)同步赋值语句:
        x,y = y,x

输出语句:
    print()函数用于输出字符信息,或以字符形式输出变量的值;
    print()函数通过%来选择要输入的变量;
    x = 0.01
    print(“%.2f”%x)

循环语句:
    控制程序循环;
    判断条件或计数判断程序运行次数;

计数循环
    for i in range(<计数值>):
        <表达式组>
例:
    for i in range(10):
        <表达式组>

2.程序编写模板:

input-print模板:
    用户输入:input;
    运算:算法实现;
    用户输出:print;

initiao-print模板:
    初始变量;
    运算;
    print;


2.2 蟒蛇绘制程序


1.tuitle库与蟒蛇绘制程序:

(Code2_1-turtlepython)
import turtle

def drawSnake(rad,angle,len,neckrad):
    for i in range(len):
        turtle.circle(rad,angle)
        turtle.circle(-rad,angle)
    turtle.circle(rad,angle/2)
    turtle.fd(rad)
    turtle.circle(neckrad + 1,180)
    turtle.fd(rad*2/3)

def main():
    turtle.setup(1300,800,0,0)
    pythonsize = 30    
    turtle.pensize(pythonsize)
    turtle.pencolor("blue")
    turtle.seth(-40)
    drawSnake(40,80,5,pythonsize/2)

main()

来看下这段代码,运行画出了一条小蛇;

保留字import引入python外部库:
    turtle库是python中一个很流畅的回执图像的外部库;
    可以形象的理解为一只小乌龟在爬行;

保留字def定义函数;
    函数是一组代码的集合,表达一个功能;
    函数名是这段代码的名字;
    函数需要调用才能执行;
    函数体 与 def定义的函数存在缩进关系

main()表示执行函数;

2.下面我们来分析一下2_1-turtlepython这个程序:

import turtle    #导入外部库

def drawSnake(rad,angle,len,neckrad):    #定义一个函数 有四个入参
    for i in range(len):    
        turtle.circle(rad,angle)    #按照原型轨迹运动
        turtle.circle(-rad,angle)
    turtle.circle(rad,angle/2)
    turtle.fd(rad)    #
    turtle.circle(neckrad + 1,180)
    turtle.fd(rad*2/3)

def main():
    turtle.setup(1300,800,0,0)    #turtle的setup函数启动了一个图形窗口 四个参数屏幕的宽度和高度,以及窗口的左上角在屏幕中的位置;
    pythonsize = 30    
    turtle.pensize(pythonsize)    #表示运行轨迹的宽度
    turtle.pencolor( "blue )    #表示运行轨迹的颜色(rgb方式 如“#3d9999”)
    turtle.seth(-40)    #set h函数表示启动时运行的方向 负值表示相反方向
    drawSnake(40,80,5,pythonsize/2)    #启动回执蟒蛇功能

main()

坐标系统理解:turtle.setup函数
Python语言程序设计-学习笔记3:Python编程之实例解析_第2张图片
运行方向理解: turtle.seth
Python语言程序设计-学习笔记3:Python编程之实例解析_第3张图片
参数表示角度值;注意这个只表示运行的方向;

turtle.circle(rad,angle):
    描述按照原型轨迹运行;
    参数rad描述原型轨迹半径的位置;
        正数表示逆时针半径方向;
        负值表示顺时针半径方向;
    参数angle表示起始点沿着圆形爬行的弧度值;
Python语言程序设计-学习笔记3:Python编程之实例解析_第4张图片
举例说明下:
    turtle.serh(180) #初始运动方向向左;
    turtle.circle(-20,180) #-20是负数,所以进行顺时针方向画弧,半径20,弧度值为180;
     Python语言程序设计-学习笔记3:Python编程之实例解析_第5张图片

turtle.fd()函数功能:
    也称为turtle.forward(rad)函数;
    表示小乌龟直线向前爬行;
    如果参数是负数则向反方向爬行
    参数表示向前爬行的轨迹长度;

操作了好几遍,理解了!画了个心形:
def drawHart():
    turtle.setup(800, 600, 50, 50)
    turtle.pensize(5)
    turtle.pencolor("red")
    turtle.seth(-135)
    for i in range(5):
        turtle.fd(70.7)
        turtle.seth(135)
        turtle.fd(70.7)
        turtle.circle(-35.35,180)
        turtle.seth(45)
        turtle.circle(-35.35,180)
Python语言程序设计-学习笔记3:Python编程之实例解析_第6张图片

turtle库还有很多其他的函数,后续慢慢学习;

3.函数库的引用:

Python的魅力就在于大量使用外部函数库;
初始安装的有math、random、turtle等;
更多的却是自己安装的;

函数库安装在python解释器的路径后,程序就可以对函数库进行引用;

Python对库函数引用的方式:
1)第一种方式在程序头部增加;
    import <库名> 如import turtle
    调用函数时,使用<库名>.<函数名>
2)第二种引用方式:
    from <库名> import <函数名>
    from <库名> import *
    这种调用函数可以直接使用函数名调用;

第一种的话:用户自定义函数可重名;
第二种的话:用户自定义函数不可重名;

4.小结:

本周课程我们接触了:变量 命名 注释 缩进 库使用 循环 窗口绘制 分支 函数定义;
还介绍了程序编写模板;

5.练习:

模仿网上实例画了个五角星:
(Code2_2-drawTest)
from turtle import Turtle

def drawFiveStar():
    p = Turtle()
    p.speed(3)
    p.pensize(5)
    p.color("black","yellow")
    p.begin_fill()
    for i in range(5):
        p.fd(200)
        p.right(144)
        # p.left(144)    p.end_fill()


drawFiveStar()



具体实现尚待学习;


2.3 课后练习

    无

2.4 Turtle库快速参考

    无



你可能感兴趣的:(Python语言程序设计)