python基础——数据类型

来源:互联网 发布:淘宝企业店铺注册条件 编辑:程序博客网 时间:2024/06/05 05:53

基础数据类型包括:

数字、字符串、元组,以上为不可更改类型,无增删改操作。只能重新赋值。

列表、字典、集合,以上为可更改类型。


数字:整型 、长整形、布尔值、浮点型、复数

  • 整型  :十进制(无前缀),八进制(0开头) , 十六进制(0x开头) , 二进制(0b开头)。范围与机器位数相关。
  •     32位机器  :-2^31 -2^31    64位机器 -2^64 -2^64
  •      python2.4版本后,整型操作超出范围,自动转换为长整型
  • 长整型:大小仅与系统虚拟内存限制相关。
  • 布尔值 :0 或者 1( False 、True)
  • 浮点型 :小数或者用e/E表示的幂。缺乏精确性。eg: 3.21    50.2E2
  • 复数:虚部以j/J 结尾    eg: 2+3j


转换关系

整型之间  

  • 十进制到其他
  •              oct(12)  —>8hex(12)—>16bin(12)—>2
  • 其他到十进制
  • int(‘otherInt’,制式)    如八进制转  int(‘100’,8)
  • 或者   eval(‘0o100’)

类型转换 工厂函数

  • int(string,base=10)
  • long(obj,base=10)
  • float(obj)
  • complex(str),complex(real,imag=0.0)
  • bool(obj),即obj.__nonzero__()的返回值,无此方法,默认值为True
  • string()
  • chr(num) ascII数值转为单字符
  • ord(chr) 单字符转为ascII字符
  • unichr(num) unicode码值转为字符

主要内置函数

  • abs(number)
  • coerce(num1,num2) 按类型转换原则,返回同类型元组
  • divmod(num1,num2)返回商和余数的元组
  • pow(num1,num2,mode=1) == (num1**num2)/mode 
  • round(nmber[,base]) 浮点四舍五入 base位

运算符 + - *  /  **   //(取整)    %     !=        位操作符 &  ^  ~  |  <<    >>
真正除法  from __future__ import division      >>>1/2    结果0.5
常用模块math    random    decimal    operator

序列型 :包括   字符串、列表、元组

  • 序列类型操作符   
  • 成员关系   in/not  in  
  • 切片操作   [],[:],[首:尾:步长]
  • 连接  +    重复 *
  • 类型间转换
  •              list()   str()  unicode()   tuple()
  • 基本操作函数
  • enumerate(iter)    len(seq)   max()   min()  reversed()   sorted()  sum()  zip()

字符串

  • 普通字符串转unicode  ‘hello’+ u ‘   ‘
  • 格式化操作符% 
  •   %d 十进制  %o 八进制 %x十六进制  %s str化  %f  %e科学计数  %g
  • 辅助  *定义宽度或者精度   - 左对齐  + 正数显示+    <SP>  #  0 m.n
  • 字符串模板
  • from string import Template
  • s = Template(‘there are ${howmany} ${lang} question symbols’)
  • print s.substitute(lang=‘python’,howmany=3)
  • 原始字符串操作  r/R
  • 字符串内建函数
  • split()   join()  find()   index()   capitalize()   upper()  lower()   endswith()  encode()

列表

  • 创建list(‘foo’)  list[“aaa’,’bbb’,”擦擦擦“]
  • 更新   lista.append()
  • 删除  del lista[0]     del  lista
  • 列表类型内建函数   append()   pop(index) insert () remove(obj) reverse count() extend(seq) sort()
  • 单元素 元组  列表  (’xxx’,)   因为()被重载为分组操作符过

映像和集合类型  :字典和集合 

字典

  • 创建   d={}   ={‘name’:’earth’}  =dict()    ={}.fromkeys(9’x’,’y’),-1)
  • 删除   del d[‘name’]     d.clear()      d.pop[‘name’ ]      del d
  • 字典比较  长度-》键-》值
  • 内建函数  update()    iter()   keys  from keys()   get(key)    clear()   has_key  pop  values()  items()    setdefault() 
  • 支持迭代器

集合   set 可变集合   frozenset  不可变集合,一组无序无重复的元素集,用于关系测试和消除重复元素

  • 字符串、列表、字典—》都可转换为set
  • 操作 add, update,clear,pop,remove,discard()(有则删除,不报异常)
  • 交 | (union)、并 &(intersection)、差 -(difference)、差分^(symmetric_difference)

python 浅拷贝与深拷贝

可变元素 默认浅拷贝   不可变元素  默认深拷贝

元组变量只包含原子类型对象  不深拷贝

import copy    copy.copy    copy.deepcopy()强制深拷贝



 




0 0
原创粉丝点击