python初探-数据类型

数据类型

可以使用BIF type()来查看对象的类型

  • 数字
    • int
    • float
    • long
  • 布尔(bool)
    • True 机内表示1,机器识别非0
    • False 机内表示0,机器识别0
  • 空值 None
  • 字符串(str)
    • 移除空格(strip)
    • 分割(split)
    • 长度(len)
  • 列表(list)
    • help(list)
    • dir(list)
  • 元祖(tuple)
    • list() 把序列转化成列表
    • tuple() 把序列转化成元祖

运算符

  • 算数运算符
运算符 描述
  • | 加法
  • | 减法
  • | 乘法
    / | 除法
    % | 取模,x%y返回余数
    ** | 幂运算,x的y次幂,返回多少次方
    // | 取整除,x//y返回x除以y的商的整数部分

  • 比较运算符

  • 赋值运算符

  • 位运算符

运算符 描述
& 与运算
竖杠 或运算
^ 异或运算
<< 左移运算符

| 右移运算符

  • 逻辑运算符 and, or, not
  • 关系运算符 in, not in
  • 验证运算符 is, is not

文件操作

文件打开

python2.x中有file()和open()两种方法,在python3.x中只保留了open()一种

file_obj = open("filename","模式")

输入

read()方法:一次性加载所有内容到内存,把所有行合并成为一个字符串并返回
readlines()方法:一次性加载所有内容到内存,返回一个按行分割的字符串列表

obj.read()
obj.readlines()

当时用read()或者readlines()从文件中读取行时,python并不会删除行结束符,换行符需要我们自己删除

f = open('myfilename','r')
for line in f.readlines()
    data = line.strip()
f.close()

python2.2后,可以使用文件迭代,用户不必调用read*()方法就可以在循环中迭代文件的每一行,更为高效,而且代码更简洁

for eachline in obj:
    ...

输出

obj.write('内容')

文件关闭

obj.close()

对于python,一切事物都是对象,对象是基于类创建

print(type(obj))    # 返回类
print(dir(obj))    # 返回类里面的成员

class int
    def __abs__()
    # 返回绝对值
    # 效果等价于 abs()
    def __add__(arg)
    # 返回 self+arg
    # 效果等价于 num1 + num2
    def __divmod__(arg)
    # 返回 (商,余数),类型为元祖
    # 效果等价于 divmod(num2,num1)

class str
    def __contains__()
    # 返回True或者False
    # 效果等于 in
    def center(width,fillchar)
    # 返回字符串
    # 省略fillchar默认为空格
    def count(sub, start=None, end=None)
    # 返回字符出现的次数
    def encode(encoding='utf-8')
    def endswith(suffix, start=None, end=None)
    # 返回布尔True,False
    def expandtabs(tabsize=8)
    # 返回字符串,用tabsize个空格来替代tab
    def find(sub, start=None, end=None)
    # 返回最小的索引,如果没有找到,则返回-1
    def index(sub, start=None, end=None)
    # 类似 find() ,但是找不到会报错
    def format(arg)
    # 格式化字符串函数,使用{}来替换,可以通过位置{0} {1},也可以通过关键字参数
    # 返回替换后的字符串
    def join(seq)
    # seq要连接的元素序列
    # 返回连接后的字符串
    def maketrans(intab,outtab)
    # 返回映射表
    def partition(sep)
    # 分割字符串
    # S.partition(sep) => (head, sep, tail)
    # 返回一个元祖,如果没有找到sep,则返回S和两个空串
    def replace(old,new)
    # 返回替换后的字符串
    def split()
    # 返回list
    def splitlines()
    # 返回list,按换行符分割
    def startswith(prefix, start=None, end=None)
    # 返回True,False
    def swapcase()
    # 大小写转换
    def title()
    # 所有单词都以大写开始
    def upper()
    # 返回大写字符串

class list
    def append(obj)
    # 追加
    def clear()
    # 清空
    def copy()
    # 浅copy
    def count()
    # 返回次数
    def extend()
    # 扩展列表或者元祖
    def index()
    # 返回索引
    def insert(index,obj)
    # 插入一个元素
    def pop(index=None)
    # 删除并返回一个元素,默认是最后一个
    def remove(value)
    # 删除指定的元素
    def reverse()
    def sort()

class tuple

养成习惯,元祖的最后一个元素后面带逗号

tu = tuple((11,22,33,44))
tu = tuple([11,22,33,44])
    def count(value)
    def index(value, start=None, stop=None)

class dict
dic = {'k1':'v1','k2':'v2'}
dic = dict(k1='v1',k2='v2')
    def clear()
    # 清空字典
    def copy()
    # 浅copy
    def fromkeys(seq, value)
    # 返回一个新字典,如果没有指定value,则默认为None  
    def get(k)
    #返回value,当key不存在时,默认返回None
    def keys()
    def values()
    def items()
    def pop(k)
    # 返回v
    def popitem()
    # 随机删除并返回
    def setdefault(k,d=None)
    # 返回key为k的value,如果key不存在,则创建k,并将其value设置为d
    def update()
    # 更新字典

class set
    def add()
    # 增加一个元素
    
    def clear()
    # 清空集合

    def copy()
    # 浅copy
    def difference()    
    # 做差集,返回一个新的集合

    def difference_update()    
    # 做差集,修改原来的集合
    def discard()    
    # 移除元素,如果元素不存在,什么也不做
    def intersection()    
    # 取交集,返回一个新的集合

    def intersection_update()    
    # 取交集,修改原来的set
    def isdisjoint()    
    # 如果没有交集返回True
    def issubset()    
    # 判断是否是子集,是则返回True

    def issuperset()    
    # 判断是否是父集,是则返回True
    def pop()    
    #删除并返回一个不确定的元素

    def remove()    
    # 删除一个元素,没有返回值
    def symmetric_difference()    
    # 对称地做差集,返回一个新的集合

    def symmetric_difference_update()
    # 做对称差集,修改原来的集合
    def update()
    # 更新一个集合
posted @ 2016-02-05 10:04  狗不理糯米饭  阅读(216)  评论(0编辑  收藏  举报