Python语法基础
操作符
/
传统除法(地板除)
//
浮点出发:四舍五入
*
传统乘法
**
乘方
优先级:+,-
< *,/,//,%
< 单目:+,-
逻辑操作符,python支持3<4<5
equal 3<4 and 4<5
Python不支持自增和自减操作符,但是支持+=,-=
等增量赋值操作符。
多元赋值:a,b,c=1,2,'a'
,为了可读性,建议使用括号:(a,b,c)=(1,2,'a')
#使用多元赋值可以不实用中间变量交换两个变量的值
x,y=y,x
在字符串中,+
表示字符串连接运算
*
表示字符串重复,如
>>>'Python'*2
'PythonPython'
内存管理
为了保持追踪内存中的对象,Python使用引用计数方法,Python负责记录使用中的对象存在多少引用。
Python中提供了is
和is not
来测试两个变量是否指向同意对象。
增加引用计数
- 对象被创建
x=3.2
- 另外的别名被创建
y=x
(这是python并没有给y分配一块内存,而是将y指向3.2存放的内存块) - 作为参数传递给函数
foobar(x)
- 作为容器中的一个元素
myList=[123,x]
减少引用计数
- 本地引用离开作用范围,如函数参数在函数结束时。
- 对象别名被显式销毁
del y
- 对象的一个别名被赋值给其他对象
x=1.3
- 对象从一个容器对象中移除
myList.remove(x)
- 容器对象本身被销毁
del myList
注意:python同时有自动的垃圾收集机制释放无用内存。
Python对象
Python构造的任何类型的值都是一个对象,所以说Python是面向对象的编程语言。
Python对象不一定是用户定义的类的对象,也可以使内置对象,即标准类型。它们都有三个特性:idid()
,类型type()
和值(即数据项),这三个特性在对象构建时被赋值,而且id和类型是只读的。
标准类型的内置函数包括
cmp(obj1,obj2)
:比较。repr(obj)
或者 反引号(`,不推荐):返回一个对象的字符串表示。str(obj)
:返回对象的可读性好的字符串表示。type(obj)
:得到一个对象的类型,返回一个对象类型对象。isinstance()
:判断某一变量是否是某一类型。