引用
在Python中,变量也成为:对象的引用。因为,变量存储的就是对象的地址。
变量位于:栈内存,对象位于:堆内存
Python是动态类型语言
变量不需要显示声明类型
Python是强类型语言
每个对象都有数据类型,支持该类型支持的操作
引用
在Python中,变量也成为:对象的引用。因为,变量存储的就是对象的地址。
变量位于:栈内存,对象位于:堆内存
Python是动态类型语言
变量不需要显示声明类型
Python是强类型语言
每个对象都有数据类型,支持该类型支持的操作
对象的基本组成和内存示意图
Python中,一切皆对象,每个对象由:标识(identity)、类型(type)、value(值)组成。
1.标识用于唯一标识对象,通常应用于对象在计算机内存的地址。使用内置函数id(obj)可返回对象obj的标识。
2.类型用于表示对象存储的“数据”类型,类型可以限制对象的取值范围以及可执行的操作。可以使用type(obj)获得对象的所属类型
3.值表示对象所存储的数据信息,使用print(obj)可以直接打印出值。
对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。
Python程序构成
Python文件的创建和执行
"ctr+s"
代码的组织和缩进
通常采用"四个空格"表示一个缩进,常用的编辑器一般设置成:tab制表符就是4个空格
使用注释#,'''
使用\行连接符
开始学习图形化程序设计
>>>import turtle
>>>turtle.showturtle()
>>>turtle.write("高淇")
>>>turtle.forward(300)
>>>turtle.color("red")
>>>turtle.left(90)
>>>turtle.forward(300)
>>>turtle.goto(0,50)
>>>turtle.goto(0,0)
>>>turtle.nenup()
>>>turtle.penup()
>>>turtle.goto(0,300)
>>>turtle.pendown()
>>>turtle.circle(100)
简单错误如何处理
守破离(《程序员修炼手册》)
建立体系为先,不纠结,不事事求完美
问题解决指导(会提问、会搜索)
import turtle
t=turtule.Pen()
for x in range(360):
t.forward(x)
t.left(59)
程序基本格式
1.恰当的空格,缩进问题
2.Python区分大小写
3.注释
(1)行注释(每行注释前加#号)
(2)段注释(使用三个连续单引号''')
1.建立文件和保存文件最好用英文
2.python不要行开头处加空格,空格代表缩进含义,使用英文符号
3.写好代码后,运行(run- module),可以把文件看成一个module
IDLE常用快捷键
Python开发环境(IDE)
“开发环境IDE,只是解释器的一个外挂而已”
常用的开发环境:IDLE;Pycharm;wingIDE;Eclipse;IPython
>>>为“提示符”
关闭交互窗口
中断程序执行:Ctrl+C
IDLE是Python的官方标准开发环境
1.python是一种解释型、面向对象的语言。(龟叔发明)
2.什么时候不应该用Python?
3.Python解释器
CPython;Jython;IronPython;PyPy
a=Student()
a.say_score()等价于Student.say_score(a)
方法得动态性这里有点绕
起始偏移量,终止偏移量,包头不包尾。
字符串就是字符序列
注意is是是否是同一个对象,==是判断值
注意命令和文件里的区别
当整型转为浮点数时,生成新的对象
对象三要素:地址(identity),类型(type),值(value)。
内置数据类型:整数,浮点数,布尔型,字符串型。
与c不同的,需要加中间变量来赋值。python可以系列解包赋值
1.解释性语言与编译性语言的区别?
2.面向对象与面向过程的区别?
3.GPU:图形处理器,是显卡的“心脏”
4.常用cpython解释器。
python中常用的序列结构有:字符串、列表、元组、字典、集合。
max和min用于返回列表中最大和最小值。
sum对数值型列表的所有元素进行求和操作,对非数值型列表运算则会报错。
元组属于不可变序列,不能修改元组中的元素。
tuple()可以接收列表、字符串、其他序列类型、迭代器等生成元组。
list()可以接收元组、字符串、其他序列类型、迭代器等生成列表。
元组的访问和处理速度比列表快。
使用divmod()函数同时得到商和余数
布尔值True转为1,False转为0
整数和浮点数混合运算时,表达式结果自动转型成浮点数。
round()可以返回四舍五入的值
“+=”中间不能加空格!
is用于判断两个变量引用对象是否为同一个,既比较对象的地址。==用于判断引用变量引用对象的值是否相等,is运算符比==效率高。
使用*可以实现字符串复制。
in/notin关键字,判断某个字符(子字符串)是否存在于字符串中。