python第一节
- 特点
- Python 解释器
- python开发环境
- 交互模式
- IDLE开发环境使用入门
- 程序基本格式
- 图形化程序设计
- python程序的构成
- python程序的对象
- python的引用
- python的标识符
- 标识符命名规则
- 变量和简单赋值语句
- 删除变量和垃圾回收机制
Python 是一种解释型、面向对象的语言。
官网:www.python.org
部分来源于:
1.https://www.runoob.com/python/python-object.html
2.https://blog.csdn.net/doris2016/article/details/82462841
3.https://www.cnblogs.com/cposture/p/4516903.html
4.https://blog.csdn.net/aixiangnan/article/details/88562620
特点
简单、简洁,可读性强。python是由c语言开发,但是不再有c语言中指针等复杂数据类型。面向对象;免费和开源;Python会编译成与操作系统相关的二进制代码,然后再解释执行,这种方式与java类似,大大提高了执行速度;丰富的库;可扩展性,可嵌入到c语言
import turtle
t=turtle.Pen()
for x in range(360):t.forward(x)t.left(59)
Python 解释器
1.CPython
CPython是标准Python,也是其他Python编译器的参考实现。通常提到“Python”一词,都是指CPython。CPython由C编写,将Python源码编译成CPython字节码,由虚拟机解释执行。没有用到JIT等技术,垃圾回收方面采用的是引用计数。
2.Jython
Jython在JVM上实现的Python,由Java编写。Jython将Python源码编译成JVM字节码,由JVM执行对应的字节码。因此能很好的与JVM集成,比如利用JVM的垃圾回收和JIT,直接导入并调用JVM上其他语言编写的库和函数。
一般使用CPython
python开发环境
开发环境,IDE(集成开发环境)
“开发环境IDE,只是解释器的一个快挂”
常用开发环境:IDLE, pycharm,wingIDE,Eclipse,IPython
PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。
PyCharm 功能 : 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……
PyCharm 下载地址 : https://www.jetbrains.com/pycharm/download/
PyCharm 安装地址:http://www.runoob.com/w3cnote/pycharm-windows-install.html
交互模式
1.进入命令行窗口,输入,Python:
2.>>即为“提示符”
3.关闭交互窗口:
(1)ctrl+z和回车
(2)输入quit()命令
(3)直接关闭命令行窗口
4.中断程序执行:ctrl+c
交互模式工作原理和python处理文件的方式一样,除了一点:当你输入一些值时,交互模式会自动打印输出,py文件中必须使用print语句。
IDLE开发环境使用入门
1.IDLE是Python的官方标准开发环境,Python安装完后同时就安装了 IDLE。
2.IDLE已经具备了 Python开发几乎所有功能(语法智能提示、不同颜色显示不同类型等),也不需要其他配置,非常适合初学者使用。
3.IDLE是Python 标准发行版内置的一个简单小巧的IDE,包括了交互式命令行、编辑器、 调试器等基本组件,足以应付大多数简单应用。
4.IDLE 是用纯 Python 基于 Tkinter 编写,最初的作者正是 Python 之父 Guido van Rossum。
实操:
启动IDLE,默认进入交互模式:电脑开始找到安装的Python,打开自带的IDLE即可。简单使用类似cmd命令窗口。
程序基本格式
- Python 程序基本格式
恰当的空格,缩进问题
(1)逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组
(2)语句从新行的第一列开始
(3)缩进风格统一:
a.每个缩进层次使用单个制表符或四个空格(IDE会自动将制表符设置成4个空格)
b.Python用缩进而不是{ }表示程序块
Python区分大小写 - 注释
(1)行注释:每行注释前加#号。当解释器看到#,则忽略这一行#后面的内容
(2)段注释:使用三个连续单引号(’’’)。当解释器看到’’’,然后忽略它们之间的内容
图形化程序设计
为了让初学的我们更加容易的接受编程,从海龟画图开始学习python,使我们在不接触其他编程概念时,就能做一些简单的效果,提高兴趣。
import turtleturtle.showturtle()#显示箭头turtle.write('zhaolei')#写字符串turtle.forward(300)#前进300像素turtle.left(90)#箭头左转90度turtle.goto(0,50)#去坐标(0,50)turtle.penup()#抬笔,不显示路径turtle.pendown()#下笔turtle.circle(100)#画圆,半径为100turtle.width(10)#画笔宽度10
画一个简单的奥运五环标志
#绘制奥运五环
import turtleturtle.width(10)turtle.showturtle()
turtle.color("blue")
turtle.circle(50)turtle.penup()
turtle.forward(120)
turtle.pendown()turtle.color("black")
turtle.circle(50)
turtle.penup()
turtle.forward(120)
turtle.pendown()turtle.color("red")
turtle.circle(50)
turtle.penup()
turtle.goto(60,-60)
turtle.pendown()turtle.color("yellow")
turtle.circle(50)
turtle.penup()
turtle.goto(180,-60)
turtle.pendown()
turtle.color("green")
turtle.circle(50)
python程序的构成
- Python 程序的构成
Python程序有模块组成。一个模块对应python源文件,一般后缀名是.py
模块由语句构成。运行Python程序时,按照模块中语句的顺序一次执行
语句是Python程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等 - Python 文件的创建和执行
交互式环境每次只能执行一条语句;为了编写多条语句实现复杂的逻辑,需要通过创建Python文件,并执行文件。
代码的组织和缩进
缩进时,几个空格都是允许的,但是数目必须统一。我们通常采用“四个空格”表示一个缩进
使用\行链接符
一行程序长度是没有限制的,但是为了可读性更强,通常将一行比较长的程序分为多行。这时,我们可以使用\航连接符,把它放在行结束的地方。Python解释器仍然将它们解释为同一行。
eg.
a=[10,20,30,40,
50,60,70,
80,90,100]
python程序的对象
对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。
面向对象技术简介
- 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
- 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
- 数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
- 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
- 局部变量:定义在方法中的变量,只作用于当前实例的类。
- 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
- 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
- 实例化:创建一个类的实例,类的具体对象。
- 方法:类中定义的函数。
- 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
python的引用
在Python中,变量也成为:对象的引用。因为:变量存储的就是对象的地质,变量通过地址引用了“对象”。
变量位于:栈内存
对象位于:堆内存
- Python:是动态类型语言,变量不需要显示声明类型。根据变量引用的对象,python解释器自动确定数据类型。
Python是强类型语言,每个对象都有数据类型,只支持该类型支持的操作。
python的标识符
标识符是对对象引用起的一个名字。
#合法
a123_=2
_a123=2
我=2 #中文
α=2 #希腊字母
#不合法的标识符名
a-b=2 #因为包含了减法操作符,'-'不是一个Unicode字母、数字、下划线,不能将2赋值给操作符
2miles=2 #不能数字开头
I'm=2 #单引号不是一个Unicode字母、数字或下划线
标识符命名规则
标识符:用于变量、函数、类、模块等的名称。标识符有如下 特定的规则:
区分大小写。如:sxt 和 SXT 是不同的
第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线
不能使用关键字。比如:if、or、while 等。
以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类的构造函数。
查询标识符:
import keywordprint(keyword.kwlist)'''['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue','def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global','if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise','return', 'try', 'while', 'with', 'yield']'''
变量和简单赋值语句
变量的声明和赋值:
在赋值过程中,解释器先运行右边的表达式,生成一个代表表达式运算结果的对象,然后将这个对象地址赋值给左边的变量;
变量的使用:
变量在使用前必须先被初始化,否则会出现NameError;
可以通过del语句删除不在使用的变量;
如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间;
链式赋值:
# 等价
a=b=123
a=123
b=123a,b,c=4,5,6
a=4
b=5
c=6# 交换两个数的值
a,b=1,2
a,b=b,a
删除变量和垃圾回收机制
如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间。