什么是Python?

Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。(Java其实为混合模式,编译+解释,也就是常说的JIT优化)

让我们来简单的看看Python与Java的区别

1.Pyhton为动态语言,执行按步执行,第一步执行了,第二步和第三步没有执行,
也能在线上直接修改;Java为静态语言,Java能在编译时期发现错误,代码的可读性和维护性都很强2.python的强制缩进,python并不靠大括号来判断语句块,而是缩进的。3.python语言没有泛型,python的变量不需要声明类型,只有在运行的时候才会检查这个变量这个变量到底是什么类型

用Demo来学习(以下程序需要安装Python3 环境 )
首先让我们先抄写三个程序:
算圆面积

#算圆面积
r  = 25
area = 3.1415 * r *r
print(area)
print("{:.2f}".format(area))

画个同切圆

#多个同切圆
import turtle
turtle.pensize(2)
turtle.circle(10)
turtle.circle(40)
turtle.circle(80)
turtle.circle(160)

画个五角星

from turtle import *
color('red','red')
begin_fill()
for i in range(5):fd(200)rt(144)
end_fill()
done()

再设计一个华氏度<—>摄氏度 的转换程序

#tempConvert
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']:C = (eval(TempStr[0:-1]) - 32)/1.8print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:F = 1.8*eval(TempStr[0:-1]) + 32print("转换后的温度是{:.2f}F".format(F))
else:print("输入的格式错误")

抄写之后我们再来学习,以温度转换为例,我们来学习Python的基础语法

语法格式

必须强制缩进

注释

单行注释 以# 开头

多行注释 以’’’ 开头和结尾

变量与保留字

这三个都是变量的名字,使用 = 来赋值和修改

命名规则:大小写字母,数字,下划线和汉字等字符组合
python大小写敏感,首字符不能为数字,不能为保留字相同

保留字(关键字):被编程语言内部定义的标识符

数据类型

温度转化的代码设计到了 ,整数,浮点数,字符串
整数:123
浮点数 : 123.123
字符串:“123” 或者 ‘123’
列表类型:[1,2,3,4,5]
直接赋值即可。

字符串的序号,从 0 开始,提供两种索引方式,正向第一个为0,最后一个字符为长度-1.
逆向为倒数第一个为-1

我们也可以这样获取字符,获取输入的第一个字符
在这里插入图片描述
获取指定范围的字符串,获取第二个字符到第四个字符之间的字符串,区间为左闭右开

列表类型
列表类型的格式为[x,x,x,x,x]
以逗号分割,元素为任意数据类型,可以使用in 来判断元素是否在列表内部

语句与函数

赋值语句: =

将右侧的结果赋给左边。
if elif else 分支语句 条件判断 等比为 if else if else + 条件 +
必须有冒号

基本函数

输入 input()
变量 = input( <提示的字符串> ) 或者  input(<提示字符串>)输出 print()

评估函数 eval()
作用为将参数的最外侧的引号去除,并执行余下的语句
例如:
eval(“1”) -> 1
eval(“1+2”) -> 3 (取出引号之后,变为了1+2,python可以识别,直接执行)
eval("‘1+2’") -> ‘1+2’ (这里内部使用了单引号,外部使用了双引号,将外部的引号取出后, 为’1+2‘)
eval(‘print(‘Hello’)’) -> Hello (取出引号后,为print(‘Hello’) 直接输出 Hello)

在这里,收先获取从0到-1 的字符串

再次详细的分析温度转换程序:

#tempConvert
#首先获取输入的字符串
TempStr = input("请输入带有符号的温度值:")
#如果最后一个字符是F 或者 f 那么就是华氏温度,进行转换
if TempStr[-1] in ['F','f']:#取字符串第一个到倒数第一个字符(左闭又开)通过eval 获得到数字,进行转换C = (eval(TempStr[0:-1]) - 32)/1.8#格式化输出,并且保留两位小数print("转换后的温度是{:.2f}C".format(C))
#如果最后一个字符是C 或者c 那么就是摄氏温度,进行转换
elif TempStr[-1] in ['C','c']:F = 1.8*eval(TempStr[0:-1]) + 32print("转换后的温度是{:.2f}F".format(F))
else:
#如果都不是,那么输入的就有问题print("输入的格式错误")

课后作业

temp = eval(input())
if temp == 0:print("Hello World")
elif temp > 0:print("He\nll\no \nWo\nrl\nd")
else :for c in "Hello World":print(c)

temp = input()
#让eval 函数自动识别
print("{:2f}".format(eval(temp)))

图形绘制

让我们先抄一份代码

#PythonDraw.py
import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-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()

效果:

现在我们再研究一下它到底是怎么画出来的

turtle 库

在代码的第一行我们引入了 turtle 这个库,这个库就是用于绘图的一个库,也是常说的海归绘图体系
海归绘图体系:1969年诞生,主要用于图形绘制。
turtle 是python的标准库之一,也是入门级的绘图函数库。
至于标准库和第三方库,我们可以这么想,标准库游戏里自带的游戏道具,第三方库,就是你自己从网上下的Mod包。

turtlr 的绘制

绘制的最小单位是 像素
窗体的最左上角为 0 ,0 下标,也就是坐标原点。
我们可以使用 turtle.setup(width,height,startx,starty) 这个函数可以设置窗体的大小,以及在电脑屏幕中起始点的位置。起始点的位置可以省略。

turtle 空间坐标体系


可以是用 turtle.goto(x,y) 这个函数来设置海龟要到达哪一个位置

小练习:

import turtle
turtle.goto(100,100)
turtle.goto(100,-100)
turtle.goto(-100,-100)
turtle.goto(-100,100)
turtle.goto(0,0)
turtle.done()

结果:

这些就是一个海龟直走的方向,可是海龟也会转弯啊,我们可以看到在图形绘制的时候箭头始终没有变过,现在我们就学习一下怎么让它变个方向。


turtle.fd(d) 向前走
turtle.bk(d) 向后走
turtlr.circlr(r,range) 以左上角某一个点为圆心,进行曲线绘制

turtle角度坐标体系


我们可以通过 turtle.seth(angle) 方法来改变海龟行进的角度。注意这里只是改了箭头的方向角度,并不前进。angele 为绝对度数

当然我们也可以相对当前的角度去调整
turtle.left (angle)
turtle.right(angle)
这两个方法都是以当前海龟方向的左/右,改变多少角度。

小练习,绘制Z型曲线

import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
turtle.done()

RGB色彩模式

RGB是值红蓝绿三个通道的颜色组合,它能够覆盖视力可以感知的所有颜色,RGB的颜色取值范围为0-255整数,或者0-1之间的小数
常用颜色

turtle默认使用小数值来设置颜色,也可以使用 turtle.colormode(mode) 来改变数值的设置。
turtle.colormode(1.0) 设置为小数模式
turtle.colormode(255) 设置为整数模式

库引用

在蟒蛇代码的第一行,我们使用了import + 库名 的方式进行引用,使用库的函数时,就需要<库名> . <函数名>(参数) 以这种方式来调用对应的方法。
<库名>.<函数名>(参数)

这种形式非常像面向对象种Java 语言的方法调用,需要类或者对象的名字。

Python 中提供了另一种方式来使用函数。使用import 和 from 一起引入库,这样就可以不必写库名了直接使用函数来调用

<函数名>(参数)

(这里虽然报红,但是程序依旧是可以运行的)
如此以来看起来确实会方便许多,但是,如果导入的库多了,那么库的方法可能会有重名,调用那一个库的方法就不清楚了,所以Pycharm 也不推荐使用,所以会报红

那么我们之前还学过SQL ,对于很多表而言,他有了一个起别名的功能,Python也同样具备!
我们是用import <库> as <库别名>

这是最推荐使用的一种模式,能把代码的冗余降到最小,并且不会导致程序错乱。

画笔控制函数

蟒蛇绘制代码中使用了这几个语句

penxxx 这些就是画笔控制函数(把海龟想象为笔)

画笔操作后一直有效,一般成对出现 (别名:方便编程而起的简短的名字,功能一摸一样)

turtle.penup() 别名 turtle.pu() 这个语句相当于把画笔抬起,此时海龟的移动,并不会在画板上留下痕迹

turtle.pendown() 别名 turtle.pd() 落下画笔,此时海龟的移动就会留下痕迹

turtle.pensize(width) 别名 turtle.width(width) 画笔的宽度,相当于这个海龟有多大的腰围

turtle.pencolor(color) color为颜色字符串或者r,g,b值 这就相当于画笔的颜色,海龟龟壳的涂装

color形式:

turtle 运动控制函数

控制海龟的行进,走直线还是走曲线。
在蟒蛇绘制中,使用到的就是 fd() ,circle()这两个函数

turtle.forward(d) 别名 turtle.fd(d) 海龟向前行进 ,走直线(d可以为负数)

turtle.circle(r,extent=None) 以 r 为半径,绘制的extent角度的弧形
r 为半径, extent 为弧度(0-360),圆心默认在海龟当前位置左侧 r 距离的位置

方向控制函数

控制海龟面对的方向,绝对角度和海龟角度两套体系
turtle.,setheading(angle) 别名 turtle.seth(angle) 改变海龟行进的方向,
angle 为绝对角度

turtle.left(angle) 左转/右转 angle 角度方向

循环语句与range函数

循环语句 for 变量 in range(<参数>):
<被执行的语句>
参数就代表循环的次数,变量代表每一次循环的技术,如果变量为1,那么就是循环0 - (1-1)次,也就是for(int i = 0 ; i <= 0 ; i++) 这个意思。 从0 循环到变量-1 次.

小练习
打印 0 - 4

for i in range(5):print(i)

for i in range(5):print("Hello",i)


此时我们需要注意print 函数,当我们使用字符串拼接时,print 函数会自动将变量与变量之间的“,” 替换为空格,Hello 与 i 之间 在函数中,我是没有加空格的,但是输出之后会有一个空格。

range() 函数 可以对应为 - 》 Java 中的random()
range(N) : 产生从0 - N-1 的整数
range(M,N): 产生从M - N-1 的整数
我们可以这样理解,range (N) 循环N 次, range(M,N) 循环N-M次。

详细解释蟒蛇代码

#PythonDraw.py
import turtle
#设置窗体大小,长650 宽350像素 在屏幕的200,200 的位置
turtle.setup(650,350,200,200)
#将画笔抬起,此时海龟的移动不会再画板上留下痕迹
turtle.penup()
#向前运行-250像素,也就是向后走250像素(默认海龟方向向右)
turtle.fd(-250)
#落下画笔,此时海龟移动就会留下痕迹
turtle.pendown()
#设置画笔的宽度为25像素
turtle.pensize(25)
#设置海龟的颜色为purple 也就是紫色
turtle.pencolor("purple")
#设置海龟的角度,设置为-40度(右下方)
turtle.seth(-40)
#执行for 循环,形成关节
for i in range(4):#让海龟以40像素为半径(圆心在海龟的左侧40像素点),走80度的弧线turtle.circle(40,80)#让海龟以-40为半径,圆心在海龟的左侧-40像素,也就是海龟的右边40像素,走80度的弧线turtle.circle(-40,80)
#以40像素为半径,(圆心在海龟左侧的40像素点),走40度的弧线
turtle.circle(40,80/2)
#向前行进40像素点
turtle.fd(40)
#以16像素为半径,走180度的弧线,
turtle.circle(16,180)
#向前走40* 2/3 的像素
turtle.fd(40 * 2/3)
#让窗口不会自动关闭
turtle.done()

课后练习

import turtle as t
t.pensize(2)
for i in range(8):t.fd(100)t.left(45)

import turtle as t
t.pensize(2)
for i in range(8):t.fd(150)t.left(135)

(我学习的是 MOOC Python语言程序设计)

Pyhton 第一天学习 基础语句, 图形绘制相关推荐

  1. Python学习 Python基本图形绘制

    Python学习 Python基本图形绘制 1.深入理解Python语言 2.Python蟒蛇绘制 3.turtle库的使用 4.代码调用方法分析 5.学以致用 1.深入理解Python语言 计算机技 ...

  2. ai怎么让图片任意变形_AI入门基础教程-图形绘制变形及路径查找器

    原标题:AI入门基础教程-图形绘制变形及路径查找器 l 新建: l 界面: 多个预编辑区: l 存储格式: 1. .AI :AI软件默认的存储格式,相当于PS的PSD格式 2. .EPS:使用AI软件 ...

  3. 动画学习之WIFI图形绘制

    Android原生动画概述: 对于APP开发中涉及到的一些动画基本上都可以用Android提供的各种原生动画类来实现,所以在学习自定义动画之前首先来对原生动画进行一个基本的了解,这里不详细对每一个原生 ...

  4. Python学习——Python基本图形绘制

    Python基本图形绘制 文中所有题目的Python图形绘制采用turtle库 1.Python蟒蛇绘制 使用turtle库,绘制一个蟒蛇形状的图形.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪ ...

  5. python图形设置_python学习笔记——基本图形绘制

    1.python蟒蛇python蟒蛇代码 #PythonDraw.py import turtle turtle.setup(650,350,200,200)# 设置画布的长.宽.起点 turtle. ...

  6. Python第一天学习---基础语法

    1.字符串的用法(String) Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始. Python中的字符串不能改变. Python 没有单独的字符类型,一个字符就 ...

  7. MATLAB进阶教程第一节(图形绘制)

    本节是matlab进阶教程的第一节,头一次看的小白请先看完我的matlab入门基础,方便消化,对那些急需图形绘制的朋友将会有很大帮助! 一.二维图形的绘制 1.1plot函数 形式:plot(X,Y, ...

  8. matlab/simulink石良臣,《MATLAB/Simulink系统仿真超级学习手册》——2.6 MATLAB的图形绘制...

    本节书摘来自异步社区<MATLAB/Simulink系统仿真超级学习手册>一书中的第2章,第2.6节,作者:MATLAB技术联盟 , 石良臣著,更多章节内容可以访问云栖社区"异步 ...

  9. Python学习(3):基本图形绘制

    Python学习(3):基本图形绘制 文章目录 Python学习(3):基本图形绘制 1.深入了解Python语言 计算机发展历史 编程语言的初心和适用对象 Python语言的特点和优势:Python ...

最新文章

  1. 成功解决TypeError: ‘encoding’ is an invalid keyword argument for this function
  2. VTK:Kochanek样条用法实战
  3. Mac上IntelliJ IDEA设置类注释和方法注释带作者和日期
  4. php ci 框架 扩展缓存类,CodeIgniter扩展核心类实例详解
  5. 不值钱的软件人才[转]
  6. win11怎么退回win7 Windows11退回win7的步骤方法
  7. UNICODE与ASCII码的关系(MTK)
  8. 功能强大的云打印组件-开始使用
  9. 如何快速移除pdf密码?用这个工具就够了
  10. 应用数学软件测试题,数学与应用数学专业试题.doc
  11. 计算机键盘中英文,苹果电脑键盘上的【⌘】键用英文怎么表达?和露营地又有什么关系...
  12. Python+Selenium实现网页截图
  13. 罗永浩Vs王自如:浮躁的世界该如何降温?!
  14. iOS APP版本自动更新
  15. C# 第1次实验报告:熟悉Visual Studio环境
  16. cad二次开发-C#-VS-镜像-判断用户当前是否已选择实体-将实体对象添加到模型空间-添加实体到块表记录-将块定义插入到模型空间
  17. winForm c#导出Excel
  18. Linux查看文件内容的方法
  19. CANVAS drawImage 绘图图片模糊已解决
  20. 汕头c语言培训班,汕头c语言编程学习,汕头学c语言编程哪个好,汕头学c语言编程需要报培训班吗...

热门文章

  1. 【报告分享】懂车帝2021年平台营销通案-懂车帝(附下载)
  2. springboot启动报错:create a memory leak. Stack trace of thread:(DubboResponseTimeoutScanTimer)
  3. ftp服务器需要ssl证书吗,FTP服务器SSL证书配置方法
  4. Android在线学习小助手课设大作业源码
  5. 2019-1-24【训练日记】
  6. 双肩包、电梯、椅子、保温杯的测试用例
  7. Django的边边角角(一):模型继承、静态资源、文件上传
  8. 自然语言处理NLP | NTLK入门及英文语料库处理
  9. xp计算机远程在哪里,如何开启windows xp系统下的远程桌面
  10. python面向对象答辩_深圳民治中心ID1903龙圣面向对象答辩