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()
# 更新一个集合