Python语法基础

Published: 29 Dec 2013 Category: 编程

操作符

/ 传统除法(地板除)

// 浮点出发:四舍五入

*传统乘法

**乘方

优先级:+,- < *,/,//,% < 单目:+,-

逻辑操作符,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中提供了isis 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():判断某一变量是否是某一类型。