小奥的学习笔记

  • Home
  • Learning & Working
    • Speech Enhancement Notes
    • Programming language
    • Computer & DL
    • MOOC
  • Life
    • Life Time
    • Thinking & Comprehension
    • Volunteer
    • Plan
    • Travel
  • Footprints
  • GuestBook
  • About
    • About Me
    • 个人履历
    • 隐私策略
  1. 首页
  2. Study-notes
  3. Programming language
  4. Python
  5. 正文

Python语言程序设计(第1、2周)整理

2018年3月22日 1707点热度 0人点赞 0条评论

第一周:Python基本语法元素

1.3 实例1:温度转换

例:将摄氏度和华氏度互换

利用转换公式如下:

C=(F-32)/1.8,F=C*1.8+32

代码:

TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']:
    C=(eval(TempStr[0:-1])-32)/1.8
    print("转换后的温度是{:.2f} C".format(C))
elif TempStr[-1] in ['C','f']:
    F=(eval(TempStr[0:-1]))*1.8+32#[0:-1]代表从第一位到倒数第二位
    print("转换后的温度是{:.2f}F".format(F))
else:
    print("Format Error!!")

1.4Python程序语法元素分析

1.命名与保留字

变量是用来保存和表示数据的占位符号。变量采用标识符来表示,关联标识符的过程叫命名。

命名要求大小写字母、数字、下划线和汉字等字符及组合。

Python是大小写敏感、首字符不能是数字,名字不能与保留字相同。33个保留字如图1所示。黑色的保留字是基本保留字。

1521725427193309.jpg

图1

2.字符串的使用

字符串的序号,Python中提供了正向递增序号、反向递减序号两种索引体系。如图2所示。

1521725440220894.jpg 

图2

使用[]获取字符串中一个或多个字符的方法:

(1)索引:返回字符串中单个字符,格式:<字符串>[M]

(2)切片:返回租房穿中一段字符子串,格式:<字符串>[M:N]。举例:

假设a[5]={0,1,2,3,4}

则a[1:3]={1,2,3},a[0:-1]={0,1,2,3},后者并不到4。

3.输入输出函数

(1)输入函数input()

使用格式: <变量> = input(<提示信息字符串>),用户输入的信息以字符串类型保存在<变量>中。

(2)输出函数

print()基本使用格式:

print(<拟输出字符串或字符串变量>)

print(“{:.2f}”.format(c)):{}表示槽,表示将format中的信息填充到这个位置,:.2f指的是取小数点后两位。

(3)评估函数

eval():去掉参数最外侧引号并执行余下语句的函数。基本使用格式为:

eval(<字符串或者字符串变量>)。例如:b=eval(“1+2”),则b=3。

 

第2周:Python基本图像绘制

2.1 深入理解Python语言

1.编程语言的多样核心

(1)C语言

学习内容:指针、内存、数据类型;

语言本质:理解计算机系统结构;

解决问题:性能。

(2)Java语言

学习内容:对象、跨平台、运行时;

语言本质:理解主客体关系;

解决问题:跨平台。

(3)C++语言

学习内容:对象、多态、继承;

语言本质:理解主客体关系;

解决问题:大规模程序。

(4)Python

学习内容:编程逻辑、第三方库;

语言本质:理解问题求解;

解决问题:各类问题。

2.Python语言的特点

(1)Python语言是通用、脚本、开源、跨平台、多模型语言。

(2)Python语法简洁(具有强制可读性,Python具有较少的底层语法元素,支持多种编程方式,支持中文字符)、生态高产(具有大量的第三方库,因此有快速增长的计算生态,可以避免重复,并且开放共享、支持跨平台)。

2.2 Python蟒蛇绘制

1.问题分析

用程序绘制一条蟒蛇。

第一步是设计蟒蛇的基本形状。

-问题1:计算机绘图的原理是什么?(一段程序为何能够产生窗体?为何能在窗体上绘制图形?)

-问题2:Python蟒蛇绘制从哪里开始呢?(如何绘制一条线?如何绘制一个弧形?如何绘制一条蟒蛇?)

2.实例编写

代码:

import turtle//程序关键。引入了一个绘图库就是turtle
 
turtle.setup(650,350,200,200)//定义窗口的大小和位置
turtle.penup()//首先将海龟抬起来
turtle.fd(-250)//向左移250像素,不留痕迹
turtle.pendown()//落下笔
turtle.pensize(25)//设置笔的大小
turtle.pencolor("red")//设置笔的颜色
turtle.seth(-40)//设置角度为-40度
//设置圆心为左侧40像素,角度80,然后再右侧40像素绘制
for i in range(4):
    turtle.circle(40,80)
    turtle.circle(-40,80)
turtle.circle(40,80/2)//变为直线
turtle.fd(40)//继续前行
turtle.circle(16,180)//然后转个半圆上来
turtle.fd(40*2/3)//往前走走
turtle.done()//结束

运行结果:

1521725482359499.jpg 

图1

3.举一反三

Python蟒蛇绘制是各类图形绘制问题的代表,学会了该绘制,就可以实现圆形绘制、五角星绘制、国旗绘制、机器猫绘制。

2.3 模块1:turtle模块的使用

1.turtle库基本介绍

是turtle绘图体系的python体现,主要用于程序设计入门,属于python的标准库。

python计算生态=标准库+第三方库

标准库:随解释器直接安装到操作系统中的功能模块;

第三方库:需要经过安装才能使用的功能模块。

(1)turtle的原理:

    有一只海龟,在窗体正中心,在画布上游走,走过的轨迹行程了图形。海龟轨迹的颜色、大小等都是由程序控制。

 

2.turtle绘图窗体布局

(1)turtle的绘图窗体

turtle的一个画布空间最小单位是像素,窗体与屏幕的关系如图2所示。

 1521725500413147.jpg

图2

turtle.setup(width, height, startx, starty)

该函数设置窗体的大小和位置,4个参数中的后两个可选,该函数不是必须的。

3.turtle空间坐标体系

包括绝对坐标和相对坐标。

绝对坐标体系中,绘图窗体的中心坐标是(0,0),然后向右、向上为正方向分别产生x轴和y轴。

turtle.goto(x, y)

让海龟直接到某个位置,不考虑海龟的初始位置。

海龟坐标(相对坐标)是指以海龟本身视角来判断前后左右。常用函数有:

turtle.circle(r, angle)//以左侧某一个点为圆心曲线运行
turtle.bk(d)//反方向
turtle.fd(d)//正向运行

4.turtle角度坐标体系

绝对角度坐标体系如图3所示,我们可以使用以下代码来设置角度:

turtle.seth(angle)//改变海龟行进方向,只改变方向不运动

3.jpg 

图3

海龟角度,即以海龟的视角来判断角度,用到两个语句:

turtle.left(angle)//海龟向左转角度
turtle.right(angle)//海龟向右角度

2.4 turtle语言元素分析

1.库引用与import

若我们不想使用turtle.<函数名>,而是直接想使用<函数名>,那么可以使用:

from turtle import *

使用原来方式的好处是不会出现函数重名,第二种的好处是更简洁。

也可以使用

import <库名> as <库别名>

调用是,使用:

<库别名>.<函数名>

2.turtle画笔控制函数

在例子代码中,以下代码使用了画笔控制函数:

turtle.penup()
turtle.pendown()
turtle.pensize(25)
turtle.pencolor(“red”)

画笔操作后一直有效,一般成对出现即包括turtle.penup()(别名turtle.pu())和turtle.pendown()(别名turtle.pd())。当执行penup的时候,海龟在飞行,因此不会画出轨迹;执行pendown,海龟落下,因此后来再画就有轨迹。

turtle.pensize(width)别名turtle.width(width),设置画笔的宽度,设置后一直有效,直到下次重新设置。

turtle.pencolor(color)绘制画笔颜色,color参数有三种形式:

(1)字符串:如turtle.pencolor(“red”);

(2)RGB小数值:turtle.pencolor(0.63,0.13,0.94)

(3)RGB元组值:turtle.pencolor((0.63,0.19,0.94))

3.turtle运动控制函数

控制海龟行进方向:走直线或走曲线。

turtle.forward(d)//向前行进,海龟走之间
turtle.fd(d)//别名。同时,d为行进距离,可以为负数
turtle.circle(r, extent=None)//根据r绘制extent角度的弧形
//r:默认圆心在海龟左侧r距离的位置

4.turtle方向控制函数

turtle.setheading(angle)//别名turtle.seth(angle)
//改变行进方向,angle改变角度,此处角度为绝对角度

5.基本循环语句

已经学习过,不再整理

这里注意一件事,print(“Hello:”, i)这样输出的结果hello:和数字之间是又空格的,要会使用!

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: Python python学习
最后更新:2018年3月22日

davidcheung

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

搜索
欢迎关注我的个人公众号
最新 热点 随机
最新 热点 随机
DEEPFILTERNET:一种基于深度滤波的全频带音频低复杂度语音增强框架 奥地利匈牙利九日游旅程 论文阅读之Study of the General Kalman Filter for Echo Cancellation 小奥看房之鸿荣源珈誉府 杭州往返旅途及西溪喜来登和万怡的体验报告 2022年的第一篇碎碎念
奥地利匈牙利九日游旅程小奥看房之鸿荣源珈誉府论文阅读之Study of the General Kalman Filter for Echo CancellationDEEPFILTERNET:一种基于深度滤波的全频带音频低复杂度语音增强框架
S.V Beijing Travel 11&12:Capital Museum & film museum 已修:热带海岸线生态系统【昆士兰大学】[2015-07-23] Leetcode题目解析(191125):96&98 基于python绘制世界人口地图 WebRTC中AGC模块分析(下) 《鸟哥的Linux私房菜》(基础篇)笔记整理(第0~3章)
标签聚合
python学习 linux 生活 学习 鸟哥的linux私房菜 高中 Python leetcode Java 算法
最近评论
davidcheung 发布于 5 个月前(02月09日) The problem has been fixed. May I ask if you can s...
tk88 发布于 5 个月前(02月07日) Hmm is anyone else having problems with the pictur...
cuicui 发布于 8 个月前(10月20日) :wink:
niming 发布于 9 个月前(09月19日) 同级校友,能刷到太巧了
davidcheung 发布于 2 年前(08月16日) 我得找一下我之前整理的word文档看一下,如果找到了我就更新一下这篇文章。
Nolan 发布于 2 年前(07月25日) 您的笔记非常有帮助。贴图不显示了,可以更新一下吗?
davidcheung 发布于 3 年前(06月19日) 到没有看webrtc的代码。现在主要在看我们公司的代码了。。。只是偶尔看一看webrtc的东西。。。
aobai 发布于 3 年前(03月13日) gain_change_hangover_ 应该是每三个block 只能够调整一次,这样保证每帧...
匿名 发布于 5 年前(12月30日) 烫
小奥 发布于 5 年前(12月12日) webRTC里面的NS本身我记得就是在C++里面呀

COPYRIGHT © 2025 小奥的学习笔记. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

陕ICP备19003234号-1

鲁公网安备37120202000100号