python一切皆对象,所有内容都是由对象展开的,对象是由类实例化而来。

python中存储的所有数据都是对象

每个对象都有一个身份、一个类型和一个值。

  身份:eg:school=“beida” 会以 “beida”创建一个字符串对象,其身份是其在内存中的地址,id(school)可查看,而school就是引用这个具体位置的名称

  类型:对象的类别,用于描述对象的内部表示及它支持的方法和操作。

创建特定类型的对象时,有时也将该对象称之为该类型的实例。

实例被创建后,其身份和类型就不可改变。

如果对象值是可以修改的,则成为可变对象--列表、字典

如果对象值是不可以修改的,则称之为不可变对象。--字符串、数值

如果某个对象包含对其他对象的引用,则称之为容器。

大多数对象都拥有大量的特定属性和方法

  属性:与对象相关的值

  方法:被调用时将在对象上执行某些函数的操作,使用()运算符

  使用(.)运算符可以访问属性和对象

  类:数据和方法

  一般来讲,方法是公共的,数据是私有的

对象的身份和类型

  python内置函数id可返回一个对象的身份,即该对象在内存中的位置

  is运算符可以比较两个对象的身份。

  type()用于返回一个对象的类型。

  对象类型本身是一个对象,称之为对象的类。该对象的定义是唯一的,切对于某类型的所有实例都是相同的。所有类型对象都有一个指定的名称,可用于执行类型检查,如list,dict

两个对象比较

  1.值比较:对象中的数据是否想用

  2.身份比较:两个变量引用是否为同一变量

  3.类型比较:两个对象的类型是否相同。

eg: num1=5

  num2=5

  值比较:num1==num2

  身份比较:num1 is num2

  类型比较:type(num1) is type(num2)

核心数据类型:

  数字:int,long,float,complex,bool

  字符:str,unicode

  列表:list

  字典:dict

  元组:tuple

  文件:file

  其他类型:类类型,集合,None,frozenset

  其它文件文件类工具:pipes,fifes,sockets

  python属于动态强类型语言

类型转换

  str(),repr()讲非字符串转换为字符串

  int():转换为整数

  float():转换为浮点数

  list():将字符串转换为列表

  tuple():将字符串转换为元组

  set():讲字符串转换为集合

  dict(d):使用key,value元组序列转换字典,根据键值对创建字典eg:l1=[("a",1),("b",2),("c",3)] d1=dict(l1)==>d1:{‘a’:1,'b':2,‘c’:3}

  frozenset(s):讲字符串s转换为不可变集合

  chr(s):将(0~255)的一个整数转换为对应的字符串

  ord(s):将字符转换成整数值

  hex(s):将整数转换为16进制字符串

数字类型--不可变类型

  python的数字字面量:布尔型,整数,浮点数,复数;

  布尔型:True:1;False:0

序列类型

  序列表示索引为非负整数的有序对象集合,包括字符串、列表、元组

  字符串是字符的

  列表和元组是任意Python对象的序列

  字符和元组属于不可变对象,而列表支持插入、删除、替换元素

  所有序列都支持迭代

字符类型:

  字符串字面量:把文本放入单引号,双引号,三引号,前后符号保持一致。三者并无区别,只是三引号可以多行,三引号可以三个单引号或者双引号。

  如果要使用unicode格式,则在字符串之前使用字符u进行标识,如u“lizhencong”(python2),python3则不需要

  ###我定义了一个函数printName(),printName()表示调用函数,printName表示引用函数对象

  文档字符串:模块,类或者函数的第一条语句为字符串,该字符串成为文档字符串,可以使用__doc__属性引用。

字符串的操作:

适用于字符串的运算

  s[i]为索引运算

  s[i:j]为切片运算,i显示,j不显示,一共显示j-i个数。

  扩展切片[i:j:step]:切片后的结果会生成一个新的对象,字符串不支持直接修改,所以取出子字符串占用内存,生成新的对象

  正索引的绝对值+副索引的绝对值=字符串的个数

  min(s)和max(s)只适用于对元素排序的序列,相应的取最大值和最小值

  sum(s):只适用于数字序列

适用于字符串的操作

a.captitalise():首字母大写

a.index():找到某个字符串首次出现的位置

a.join(t):将a作为分隔符连接序列t

a.replace():字符串替换

a.split():字符串划分,返回一个序列

a.strip():字符串修剪