[新星计划]05 Python编程语言基础技术框架(1)

要素#2:对象引用(变量)

  • Python将所有数据存为内存对象
  • Python中,变量事实上是指向内存对象的引用
  • 动态类型:在任何时刻,只要需要,某个对象引用都可以重新引用一个不同的对象(可以是不同的数据类型)
  • 内建函数type()用于返回指定数据项的数据类型
  • "="用于将变量名与内存中的某对象绑定:如果对象事先存在,就直接进行绑定;否则,则由"="创建引用的对象

变量命名规则

  • 只能包含字母、数字、下划线,且不能以数字开头
  • 区分字母大小写
  • 禁止使用保留字(python2与python3的保留字有所不同)

命令习惯

  • 以单一下划线开头的变量名(_x)不会被from module import *语句导入
  • 前后都有下划线的变量名(_x_)是系统定义的变量名,对python解释器有特殊意义
  • 以两个下划线开头但结尾没有下划线的变量名(__x)是类的本地变量
  • 交互式模式下,变量名"_"用于保存最后表达式的结果
>>> 1+1
2
>>> print _
2

在交互式模式中语句可以直接执行

注意:变量名没有类型,对象才有

>>> type(name)

>>> name = 3.14
>>> type(name)

变量可以引用任意对象

python变量名只是内存引用的标示而已

 

要素#3:组合数据类型

数据结构:通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合

python常用的组合数据类型

序列类型

列表:使用[]创建,如["This","is","a","pig"]

0

This
1 is
2 a
3 pig

 

 

 

 

 

>>> l1 = ["This","is","a","pig"]
>>> l1[0]
'This'
>>> l1[0][0]
'T'

列表是可变对象,原处修改,id未变
>>> print l1
['This', 'is', 'a', 'pig']
>>> print l1[3]
pig
>>> l1[3] = "sheep"  //修改值
>>> print l1
['This', 'is', 'a', 'sheep']
>>> id(l1)
58691848L
>>> l1[3] = "Tom"
>>> id(l1)
58691848L  //id未变
>>> print l1
['This', 'is', 'a', 'Tom']

//3号元素的引用发生了改变,整个列表的引用没有改变

元组:使用()创建,如('one','two')-------不可变对象

>>> t1 = ("This","is")
>>> t1[0]
'This'
>>> t1[0][0]
'T'

字符串也属于序列类型

//切片

>>> name = 'jerry'
>>> name[0]
'j'
>>> name[0:1]   //结束位是不显示的,0:1只打印j
'j'
>>> name[0:2]  //0:2打印je
'je'
>>> name[:2]    //从开头到2
'je'
>>> name[2:]    //从2到最后
'rry'
>>> name[0:4:2]  //切片可以指定“步进”,从0到4,步进2
'jr'

//切片本身会创建新的对象(字符串不可变)

集合类型

集合

映射类型

字典

 

  • 列表是可变对象,元组是不可变序列
  • Python中,组合数据类型也是对象,因此其可以嵌套['hello','world',[1,2,3]]
  • 实质上,列表和元组并不真正存储数据,而是存放对象引用
  • python对象可以具有其可以被调用的特定“方法(函数)”,每一种对象都是由其类生成的,类由数据和操作这些数据的函数组成(类中的函数叫方法),抽象属性实例化出来才叫对象
  • 元组、列表以及字符串等数据类型是“有大小的”,也即,其长度使用内置函数len()测量
>>> len(name)
5


>>> type(l1)

>>> print l1
['This', 'is', 'a', 'Tom']
>>> len(l1)
4
>>> l1.append('James')   //列表对象的append()方法可用于为其补充新元素
>>> print l1
['This', 'is', 'a', 'Tom', 'James']
>>> len(l1)
5

 

你可能感兴趣的:(python入门,python)