- Ctrl+Z 和回车
- 输入 quit()命令
- 直接关闭命令行窗口
中断程序执行:ctrl+C
第一个 Python 程序中需要注意的小要点:
- 不要在程序中,行开头处增加空格。空格在 Python 中有缩进的含义。
- 符号都是英文符号,不是中文。比如:(,
程序基本格式
1. 恰当的空格,缩进问题
(1) 逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
(2) 语句从新行的第一列开始。
(3) 缩进风格统一:
1 每个缩进层次使用 单个制表符 或四个空格(IDE 会自动将制表符设置成 4 个空格)
2 Python 用缩进而不是{}表示程序块
2. Python 区分大小写
3. 注释
(1) 行注释
每行注释前加#号。当解释器看到#,则忽略这一行#后面的内容
(2) 段注释
使用三个连续单引号(''')。当解释看到''',则会扫描到下一个''',然后忽略他们之间的内容
奥运五环代码:
# 奥运五环
# 奥运五环
import turtle
# 设置宽度
turtle.width(5)
#设置颜色
turtle.color('blue')
# 画圆
turtle.circle(50)
#抬笔 这样路径就不会画出来
turtle.penup()
turtle.goto(120,0)
#下笔 这样路径就会画出来
turtle.pendown()
turtle.color('black')
turtle.circle(50)
turtle.penup()
turtle.goto(240,0)
turtle.pendown()
turtle.color('red')
turtle.circle(50)
turtle.penup()
turtle.goto(60,-50)
turtle.pendown()
turtle.color('green')
turtle.circle(50)
turtle.penup()
turtle.goto(180,-50)
turtle.pendown()
turtle.color('yellow')
turtle.circle(50)
turtle.penup()
对象
- 每个对象由:标识(identity)、类型(type)、value(值)组成
比方:对象就像一个车库,车库需要有编号C1,C2,C3…,类型:什么车,比如小轿车,SUV,大卡车,自行车。。。值就是什么车库放入的什么车
标识符基本用法
标识符:用于变量、函数、类、模块等的名称。标识符有如下特定的规则:
1. 区分大小写。如:sxt 和 SXT 是不同的
2. 第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线
3. 不能使用关键字。比如:if、or、while 等。
4. 以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类的构造函数
Python 标识符命名规则
开发中,我们通常约定俗称遵守如下规则:
类型 | 规则 | 例子 |
模块和包名 | 全小写字母,尽量简单。若多个单词之间用 | math, os, sys |
函数名 | 全小写字母,多个单词之间用下划线隔开 | phone, my_name |
类名 | 首字母大写,采用驼峰原则。多个单词时, | MyPhone、MyClass、 |
常量名 | 全大写字母,多个单词使用下划线隔开 | SPEED、MAX_SPEED |
删除变量和垃圾回收机制
如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间。
链式赋值
链式赋值用于同一个对象赋值给多个变量。
x=y=123 相当于:x=123; y=123
系列解包赋值
系列数据赋值给对应相同个数的变量(个数必须保持一致)
>>> a,b,c=4,5,6 相当于:a=4;b=5;c=6
数字和基本运算符
Python 支持整数(如:50,520)和浮点数(如:3.14,10.0, 1.23e2),我们可以对数字做如下运算
运算符 | 说明 | 示例 | 结果 |
+ | 加法 | 3+2 | 5 |
- | 减法 | 30-5 | 25 |
* | 乘法 | 3*6 | 18 |
/ | 浮点数除法 | 8/2 | 4.0 |
// | 整数除法 | 7//2 | 3 |
% | 模(取余) | 7%4 | 3 |
** | 幂 | 2**3 | 8 |
使用 divmod()函数同时得到商和余数:
>>> divmod(13,3)
使用 int()实现类型转换:
1. 浮点数直接舍去小数部分。如:int(9.9)结果是:9
2. 布尔值 True 转为 1,False 转为 0。 如:int(True)结果是 1
3. 字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错
浮点数
浮点数,称为 float。
浮点数用 ab10 形式的科学计数法表示。比如:3.14,表示成:314E-2 或者 314e-2。
这些数字在内存中也是按照科学计数法存储。
类型转换和四舍五入
1. 类似于 int(),我们也可以使用 float()将其他类型转化成浮点数。
2. 整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0 的结果是 10.0
3. round(value)可以返回四舍五入的值
注:但不会改变原有值,而是产生新的值
【操作】定义多点坐标_绘出折线_并计算起始点和终点距离
运行结果:
同一运算符
同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。
运算符 | 描述 |
is | is 是判断两个标识符是不是引用同一个对象 |
is not | is not 是判断两个标识符是不是引用不同对象 |
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。
== 用于判断引用变量引用对象的值是否相等,默认调用对象的 __eq__()方法。
整数缓存问题
Python 仅仅对比较小的整数对象进行缓存(范围为[-5, 256])缓存起来,而并非是所有整数对象。需要注意的是,这仅仅是在命令行中执行,而在 Pycharm 或者保存为文件执行,结果是不一样的,这是因为解释器做了一部分优化(范围是[-5,任意正整数])。
·总结
1、is 比较两个对象的 id 值是否相等,是否指向同一个内存地址;
2、== 比较的是两个对象的内容是否相等,值是否相等;
3、小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用;
4、is 运算符比 == 效率高,在变量和 None 进行比较时,应该使用 is。