Python一级考试备考笔记分享

Python一级考试笔记【源源老师】

前置知识:(了解即可)

  1. Python常见的几种编程环境:IDLE(自带)、Visual Studio Code、Jupyter、pyCharm;

  2. python版本:python3 和 python2(版本之间互不兼容)

  3. IDLE的两种开发模式:交互模式、文件模式

  • 交互模式
  • 文件模式(最常见的Python文件后缀名:.py 或者.pyw)
    1. IDLE操作
    命令 解释
    Ctrl+N 新建文件(N:new)
    Ctrl+S 保存文件(S:save)
    Ctrl+O 打开文件(O:open)
    F5 运行程序
    Tab 代码缩进
    # 单行代码注释
    ‘’’ ‘’’ 多行代码注释
    1. python保留字

    Python中保留字是指被编程语言所保留的特殊单词,这些单词有着特定的含义和功能,不能被用作变量名、函数名或类名等标识符。Python有35个保留字,比如:False,True,None,and,as,def,del,elif,else,for,while,from,if,import,in,is,not,or 等等。

    01. input()输入函数

    如果想让用户在键盘输入内容,可以使用 input() 函数;

    说明 语法
    函数名 input(object)
    参数 object–可以是空。
    返回值类型 字符串
    # input()输入的内容,不管字面上是什么都是字符串类型
    a = input()
    print(a)
    print(type(a))
    
  • 如果加上提示内容,可以很好的提示用户正确的输入;
  • # 有提示的输入
    b = input("请输入一个数,1-9之间:")
    print(b)
    

    通过输入的两个数值进行加减运算,必须进行转换;

    # 通过输入进行数值计算
    c = int(input("请输入第一个数,1-9之间:"))
    d = int(input("请输入第二个数,1-9之间:"))
    print("%d+%d=%d"%(c, d, c+d))
    

    02. print()输出函数

  • 简单的输出
  • # 注意1:括号和双引号(单双均可)必须是英文状态下的
    print("Hello, Python")
    
    # 简单的数字输出
    print(123)
    
  • 输出的内容可以多条数据,默认空格隔开显示,可以通过参数更改:
  • # 输出时,默认会以空格来隔开显示
    print(123, 456, 789)
    

  • sep:用来间隔多个对象,比如这里我们用 “-” 来间隔
  • # 注意,sep参数的值需要通过双引号包含
    print(123, 456, 789, sep="-")
    

  • 默认情况下一个print输出后会自动换行
  • print(123)
    print(456)
    
  • 上面的例子等价于这样:
  • print(123, end="\n")
    print(456)
    

  • end: 可以指定结尾用什么符号
  • # 我们指定输出123后,用 --- 作为结尾
    print(123, end="---")
    print(456)
    

    print 总结:

    说明 语法
    函数名 print(objects, sep=’ ‘, end=’\n’)
    参数 objects –表示输出的对象。
    sep – 用来间隔多个对象。
    end – 用来设定以什么结尾。默认值是换行符 \n。
    返回值

    03. 变量

    1. 变量的声明

    # 声明一个变量
    # 注意1:= 不是等于的意思,是 赋值 的意思
    # 注意2:阅读代码从右边向左边阅读,意为:将数字123赋值给变量a
    a = 123
    # 输出a
    print(a)
    print(A) #Python中的英文是区分大小写的,大写的A和小写的a不是一种东西;这样写会报错
    # a变量被替换
    a = 456
    print(a)
    

    2. 命名的规则

  • 变量名可以包含字母、数字、下划线,但数字不能在变量名首位

  • abc(合法)、a123(合法)、_xyz(合法)、2b(不合法)
  • Python中的关键字(即保留字)无法作为变量名,比如:def、class,使用会直接报错

  • # 关键字错误命名
    def = 123
    class = 123
    print(class) #报错啦
    
    # 中文命名
    xiaoMing = 12
    print(xiaoMing) #打印12
    

    04.字符串

    1.字符串写法

    Python字符串支持使用单引号、双引号和三引号三种写法。

    print('Hello World!!!')
    print("Hello World!!!")
    print('''Hello World!!!''')
    

    2. 字符串的拼接

    字符串的连接可以使用 +号 或者 逗号 ,具体如下:

    # 字符串拼接,+号紧凑,逗号松散
    print("我"+"和"+"你")
    print("我" + "和" + "你")
    print("我","和","你")
    
    # 变量同理
    a = "我"
    b = "你"
    print(a + b)
    

    结果:

    我们还可以使用 * 号来对字符串进行拼接组合,比如:

    a = "*"*3
    print(a) #结果:***
    

    下面的例子中,如果我们想要输出字符串小明666,直接用加号拼接是不行的,这样会报错。

    name = '小明'
    num = 666
    res = name + num
    print(res)
    

    使用"+"运算符连接字符串时,两边的操作数必须都是字符串类型。如果有其他类型的操作数,需要先将其转换为字符串类型,再进行拼接。正确的做法是:

    name = '小明'
    num = str(666)
    res = name + num
    print(type(res))  #<class 'str'>
    

    3. 输出格式

    格式符 说明
    %d 格式化整数,会直接取整
    %f 格式化浮点数,可以设置保留的小数点
    %s 字符串
    name = "小明"
    age = 3.33
    weight = 1.23456
    print("我的名字叫%s,今年%d岁了,身高%.2f"%(name, age, weight)) #我的名字叫小明,今年3岁了,身高1.23
    
  • %10.2f:可以理解为10个占位符,不足的用空格占用;
  • %10s和%-10s:可以理解为占用10个位置,占用前面和占用后面的区别;
  • 05. 布尔类型

    1. 关系运算符

    布尔类型的值,是专门用于各种表达式的判断,表达式的运算符如下:

    名称 关系运算符 表达式返回值
    大于 > 成立返回True,否则为False
    小于 < 成立返回True,否则为False
    等于 == 成立返回True,否则为False
    大于等于 >= 成立返回True,否则为False
    小于等于 <= 成立返回True,否则为False
    不等于 != 成立返回True,否则为False
    # 表达式返回值
    print(6 > 5) #True
    print(6 > 7) #False
    print(6 < 7) #True
    print(6 < 5) #False
    print(6 == 6) #True
    print(6 == 7) #False
    print(6 >= 7) #False
    print(6 <= 7) #True
    print(6 != 7) #True
    

    2. 逻辑运算符

    除了关系运算符之外,还有一种叫做逻辑运算符,具体如下:

    名称 逻辑运算符 表达式返回值
    and x and y x和y同时为True时,返回True,否则返回False
    or x or y x和y只要其中之一为True,返回True,否则返回False
    not not x x为True时,结果为False,否则为True
    print(0 and 1) #0
    print(1 and 2) #2
    print(0 or 1) #1
    print(1 or 2) #1
    
    # 表达式
    print(5 > 6 and 5 > 4) #False
    print(7 > 6 and 5 > 4) #True
    print(5 > 6 or 5 > 4) #True
    print(5 > 6 or 5 < 4) #False
    print(not 5 > 6) #True
    print(not True) #False
    

    06. 类型转换

    1. 数据类型

    类型名 转换函数 说明及示例
    整型 int() 将合法的字符数值或浮点数转换成整数
    字符串型 str() 将任意内容转换成字符串型
    浮点型 float() 将合法的字符数值或整数转换成浮点数
    布尔型 bool() 将任意内容转换成布尔型

    为了判断一个变量或内容,可以采用**type()**函数;

    说明 语法
    函数名 type(object)
    参数 object –需要判断类型的内容
    返回值 返回一个<class ‘类型符号’>
    # 使用type()获取四种类型
    print(type(10))
    print(type(10.15))
    print(type("哈哈"))
    print(type(True)) #注意:首字母需要大写
    print(type(False)) #注意:首字母需要大写
    

    结果:

    2. 类型转换

    print(int("123"))
    print(int(123.34))
    print(float("123"))
    print(bool(0))
    print(bool(1))
    print(type(str(123))) # 将整型转换成字符串时,无法直观的检查出,所以需要用type()判断;
    

    结果:

  • 以上类型转换,有一些条件:

  • 转换成整数时,包含字母或其它字符都不能转成整数,只有纯数字才可以
  • 浮点数同上;
  • 布尔型只能转换成True和False;
  • 07. 四则运算

    1. 算术运算符

    虽说叫做四则运算,但其实运算符往往不止加减乘除这四种:

    运算 符号 格式 结果
    + 1 + 1 2
    2 – 1 1
    * 3 * 4 12
    / 6 / 2 3.0
    整除 // 9 // 7 1
    求余 % 10 % 8 2
    ** 2**3 8

    注意:

  • 在编程语法中乘法 x 用 ***** 号代替,除法 ÷/ 代替。
  • 除法 /保留小数的,而整除 //直接取整的。
  • 幂运算中:2**3,2为底数,3为指数,换算成乘法为:2 x 2 x 2 = 8。

  • python运算符的优先顺序:

    运算符说明 Python运算符 优先级顺序
    小括号 ( ) 高——>低
    乘方 **
    乘、除、取余、取整 *、/、%、//
    加减 +、-
    比较运算符 ==、!=、>、>=、<、<=
    逻辑非 not
    逻辑与 and
    逻辑或 or
    #小括号
    number = (3 + 2) * 2
    print(number) #10
    
    #乘方
    number = 3 * 2 ** 2
    print(number)  # 12
    
    number = 8 / 2 ** 2
    print(number)  # 2.0
    
    number = 7 % 2 ** 2
    print(number)  # 3
    
    number = 7 // 2 ** 2
    print(number)  # 1
    
    #乘法
    number = 5 + 2 * 2
    print(number)  # 9
    
    #除法
    number = 5 - 2 / 2
    print(number)  # 4.0
    
    #取余数
    number = 5 - 2 % 2
    print(number)  # 5
    
    #取整数
    number = 5 + 2 // 2
    print(number)  # 6
    
    #加减运算高于比较运算
    print(5 < 3 + 2)  # False
    print(5 == 3 + 3)  # False
    
    #比较运算高于not
    print(not 6<=6) #False
    
    #not高于and
    print(True and not False) #True
    
    #and高于or
    print(True or True and False) #True
    

    2. 变量自运算

  • 自运算,就是让变量本身的值累计运算,比如累加、累减等;
  • += 累加,a += 1,相当于a = a + 1;
  • -= 累减,a -= 1,相当于a = a -1;
  • 注意:Python不支持a++语法
  • # 累加
    a = 1
    a+=1
    print(a) #2
    

    08. 小海龟turtle库

    1. turtle库入门

    turtle,即:海龟;和随机库一样,是Python中一种 绘图工具 库,也叫 海龟库。默认是从原点(0,0)位置开始画图。

    法名 返回值说明 方法简写
    .forward(d) 面朝当前方向前进d个距离,d单位是像素 fd
    .back(d) 同上,后退 bk
    # 引入海龟库,并给海龟取别名为t
    import turtle as t
    
    # 画一笔,向前(默认向右)画100步(单位:像素)
    t.forward(100)
    

    2. 角度的概念

    在绘制图形时,有时需要转向,那么就需要调整前进箭头的指向(角度)即可

    方法名 方法说明
    .left(a) 左转a度,a的取值范围:0~360
    .right(d) 右转
    import turtle as t
    # 向前100步
    t.forward(100)
    # 拐个弯,向左拐90度
    t.left(90)
    # 再向前100步
    t.forward(100)
    # 拐个弯,向右拐90度
    t.right(90)
    

    结果:

    3. 设置箭头造型

    为什么叫小海龟呢?因为箭头是可以设置为小海龟的,当然,默认是箭头

    方法名 方法说明
    .shape() 箭头的造型:arrow、turtle、circle、square、triangle、classic
    .hideturtle() 绘图结束后,隐藏箭头
    .showturtle() 显示海龟
    import turtle as t
    # 造型设置为海龟
    t.shape('turtle')
    t.forward(100)
    t.hideturtle()
    

    09. 绘制多种图形

    1. 正方形

    如图:

    分析:正方形四条边相等,拐弯的角度为:360 / 4 = 90°

    import turtle as t
    t.shape('turtle')
    t.forward(100)
    t.left(90) #左拐90度 
    t.forward(100)
    t.left(90)
    t.forward(100)
    t.left(90)
    t.forward(100)
    

    2. 等边三角形

    如图:

    分析:等边三角形三条边相等,内角和为180度,所以每一个内角为180/3=60度,外角为120度

    import turtle as t
    t.shape('turtle')
    t.forward(100)
    t.right(120) #右拐120度 
    t.forward(100)
    t.right(120)
    t.forward(100)
    

    3. 圆

    圆的绘制,有自己单独的方法:.circle()

    方法名 方法说明
    .circle(r,extent,steps) 绘制一个圆,可以设置三个参数,其中extent,steps可以省略
    上面参数: 参数说明:
    r r是半径,若r>0,左拐画圆;若r<0,右拐画圆
    extent 可选值,弧形的角度
    steps 可选值,多边形边数
  • 圆圈:
  • import turtle as t
    t.shape('turtle')
    t.circle(100)
    
  • 半圆:
  • import turtle as t
    t.shape('turtle') 
    t.circle(100,180)
    
  • 圆内三角形:
  • import turtle as t
    t.circle(50,steps=3)
    
  • 圆内多边形:
  • import turtle as t
    t.shape('turtle') 
    t.circle(100,360,6)
    

    思考:画一个小雪人,如图所示:

    方法一:

    import turtle as t
    t.shape('turtle')
    t.circle(50)
    t.circle(-100)
    

    方法二:

    import turtle as t
    t.shape('turtle')
    t.circle(50)
    t.right(180) #海龟向右旋转180度【当然,向左旋转180度也可以】
    t.circle(100)
    

    4. 五角星

    如图:

    分析:五角星的五个内角和为180度,所以每一个内角为180/5=36度,外角为144度

    import turtle as t
    t.shape('turtle') 
    t.forward(100)
    t.right(144) # 右拐144度
    t.forward(100)
    t.right(144)
    t.forward(100)
    t.right(144)
    t.forward(100)
    t.right(144)
    t.forward(100)
    

    10. 画笔设置

    1. 画笔设置

    海龟库绘制时的线条是可以设置的:包括颜色、粗细以及绘制速度等

    方法名 方法说明
    .speed(s) 设置绘图的速度:0或大于10表示瞬间绘制,1~10之间,1最慢,10最快
    .color(p,q]) p: 边框和画笔 q:填充颜色【如果只有p参数,则设置所有颜色,包括边框和填充颜色】
    .pencolor© 设置画笔颜色,绘制的线条以及笔头的轮廓部分
    .pensize(s) 设置画笔粗细,填入数字,最小值1
    import turtle as t
    t.shape('turtle')
    # 设置颜色,red:边框和画笔 green:填充
    t.color("red","green")
    t.circle(100) #注意画笔这些要提前在画圆之前设置好
    

    结果:


    我们再看一下,如果设置了t.pencolor,会出现什么情况:

    import turtle as t
    t.shape('turtle')
    t.color("red","green")
    # 设置画笔颜色
    t.pencolor("yellow")
    t.circle(100)
    

    结果:黄色边框覆盖了红色边框,因为t.pencolor颜色设置是在t.color之后,如果他们交换位置,那么红色边框将会覆盖黄色边框。

    除此之外,我们还可以设置画笔粗细和设置绘制速度

    import turtle as t
    t.shape('turtle')
    t.color("red","green")
    # 设置画笔粗细
    t.pensize(20)
    # 设置绘制速度
    t.speed(8)
    t.circle(100)
    

    结果:

    2. 填充设置

    如何在绘制好的封闭区域进行填充呢?比如一个圆

    方法名 方法说明
    .fillcolor© 设置填充的颜色
    .begin_fill() 在需要填充的封闭区域前设置
    .end_fill() 在需要填充的封闭区域后设置
    import turtle as t
    t.shape('turtle')
    t.color("red","green")
    t.begin_fill() # 开始填充
    # t.fillcolor("orange") #可以在这里改变填充的颜色,将绿色改为橙色
    t.circle(100)
    t.end_fill()  # 结束填充
    

    结果:

    3. 画布设置

    画布:绘图的区域,我们可以设置它的大小和初始位置。

    方法名 方法说明
    .screensize(width,height,bg) 设置画布的大小【默认大小为(400,300)】
    上面参数 参数说明
    width
    height
    bg 背景颜色
    import turtle
    turtle.screensize(200,200,'green')
    

    结果:

    11. 抬笔和落笔

    1. 坐标的概念

    默认情况下,海龟绘图在屏幕原点(0,0)位置开始。我们可以设置对应坐标让其在指定位置绘制.

    方法名 说明
    .goto(x, y) 到达指定坐标(x,y)
    import turtle as t
    t.circle(100)
    # 将画笔在y轴上移50的位置
    t.goto(0,50) 
    t.circle(50)
    

    结果:

  • 虽然,我们绘制出了同心圆,但暴露了一个问题:当绘制第二个圆时,笔头划过路过的区域,并没有抬笔,此时,我们需要通过抬笔和落笔来解决。
  • 2. 抬笔与落笔

    每次当笔头要位移绘制时,我们需要将笔头抬起,然后再绘制处再落笔即可

    方法名 说明 简写
    .penup() 设置画笔抬起,此时无法绘制内容 .up()
    .pendown() 设置画笔落下,此时可以绘制内容 .down()
    import turtle as t
    t.goto(0,0)
    t.circle(100)
    t.penup() #抬笔 
    t.goto(0,50)
    t.pendown() #落笔
    t.circle(50)
    

    结果:



    画图案例练习:

  • 案例演练1:
  • 如图:

    分析:圆的半径:200/2 = 100

    import turtle as t
    t.circle(100)
    t.penup()
    t.goto(200,0)
    t.pendown()
    t.circle(100)
    

    案例演练2:美国盾牌

    如图:

    分析:由外到里,逐个画出(6步)

    1. 先画最外层的红圈
    2. 白色圆圈
    3. 里面的红圈
    4. 蓝色圈
    5. 五角星
    6. 白色五边形
    import turtle as t
    t.speed(8)
    
    #最外层的红圈
    t.penup()
    t.goto(0,-200)
    t.pendown()
    t.color('red') #设置边框颜色和填充色
    t.begin_fill() #开始填充
    t.circle(200)
    t.end_fill()
    
    #白色圈
    t.penup()
    t.goto(0,-150)
    t.pendown()
    t.color('white')
    t.begin_fill() #开始填充
    t.circle(150)
    t.end_fill()
    
    #里面的红圈
    t.penup()
    t.goto(0,-100)
    t.pendown()
    t.color('red')
    t.begin_fill() #开始填充
    t.circle(100)
    t.end_fill()
    
    #蓝色圈
    t.penup()
    t.goto(0,-50)
    t.pendown()
    t.color('blue')
    t.begin_fill() #开始填充
    t.circle(50)
    t.end_fill()
    
    #五角星
    t.penup()
    t.goto(-40,10)
    t.pendown()
    t.color('white')
    t.begin_fill() #开始填充
    for i in range(5):
        t.forward(80)
        t.right(144)   
    t.end_fill()
    
    #白色五边形
    t.penup()
    t.goto(0,-20)
    t.pendown()
    t.color('white')
    t.begin_fill() #开始填充
    t.circle(16,steps=5)
    t.end_fill()
    

    12. 画点

    方法名 说明
    .dot(r,c) 绘制一个指定直径和颜色的圆点
    上面参数 参数说明
    r 直径
    c(可省略) 颜色

    举例:

    import turtle as t
    t.dot(400,'green')
    t.hideturtle() #隐藏箭头
    

    结果:


    1. 美国盾牌

    分析:用dot实现

    import turtle as t
    t.dot(400,'red')
    t.dot(300,'white')
    t.dot(200,'red')
    t.dot(100,'blue')
    
    #五角星
    t.penup()
    t.goto(-40,10)
    t.pendown()
    t.color('white')
    t.begin_fill() #开始填充
    for i in range(5):
        t.forward(80)
        t.right(144)   
    t.end_fill()
    
    #白色五边形
    t.penup()
    t.goto(0,-20)
    t.pendown()
    t.color('white')
    t.begin_fill() #开始填充
    t.circle(16,steps=5)
    t.end_fill()
    

    结果:

    2. 画人脸

    import turtle as t
    
    #圆脸
    t.penup()
    t.goto(0,-200)
    t.pendown()
    t.circle(200)
    
    #左眼
    t.penup()
    t.goto(-100,50)
    t.pendown()
    t.dot(40,'blue')
    
    #右眼
    t.penup()
    t.goto(100,50)
    t.pendown()
    t.dot(40,'blue')
    
    #鼻子
    t.penup()
    t.goto(0,50)
    t.pendown()
    t.circle(-50,steps=3)
    
    #画嘴
    t.penup()
    t.goto(-150,-70)
    t.pendown()
    t.goto(0,-170)
    t.goto(150,-70)
    
    物联沃分享整理
    物联沃-IOTWORD物联网 » Python一级考试备考笔记分享

    发表回复