Python--Day2/Day3/Day4(运算符、数据类型及内建函数)

一、昨日内容回顾

  • Python种类:CPython(Python)、JPython、IronPython、PyPy
  • 编码: Unicode、UTF-8、GBK
  • while循环
  • if...elif...else条件控制

###二、运算符 1.**算数运算** > ```+``` ```-``` ```*``` ```**```这些基本的运算符就不需要再重复了,需要注意的是以下几个运算符的用法:

/ 除法
% 取模(取余)
// 除法取整


2.成员运算

in 包含
not in 不包含


3.比较运算

== 比较值
is 比较来源(是否来自同一块内存空间)


4.**逻辑运算** > 运算顺序为: > > - 先计算()内的 > - 从前到后 > - True or == True (不论or后面是什么,因为前面是True,运算结果都会是True) > - False and == False (不论and后面是什么,前面是False,运算结果都会是False)

三、数据类型与内建函数

1.整型 int

int('x', base=n) 将string转化为n进制的integer(仅限全为数字的字符串)
integer.bit_length() 整型二进制位数(至少)
abs(x)
ceil(x)
cmp(x, y)
exp(x)
fabs(x)
floor(x)
log(x)
log10(x)
max(x1, x2, ...)
min(x1, x2, ...)
modf(x)
pow(x, y)
round(x[,n])#################
aqrt(x)


2.**字符型 str**

string.bit_length() 字节数
string.upper() 转换为大写
string.lower() 转换为小写(仅英文)
string.casefold() 转换为小写(各种文)
string.capitalize() 首字母大写
string.center(n, '-') 行宽n,string居中,字符'-'占位
string.ljust(n, '-') 内容置左,右侧以'-'填充至宽度为n
string.rjust(n, '-') 内容置右,左侧以'-'填充至宽度为n
string.zfill(n) 内容置右,以'0'填充至宽度为n
string.count('s', n, m) 计算's'在位置n~m间出现次数
string.endswith('s') 以's'结尾,rtype:boolen
string.startswith('s') 以's'起始,rtype:boolen
string.expandtabs(n) 将string以n分组,遇到\t以空格补位,可用于格式化输出(表格形)
string.find('s',n, m) 在n~m位置之间,查找's'第一次出现的位置,不存在返回-1
string.format('') 格式化,配合n='{var}'或n ='{0}',将字符串中的占位符按顺序替换为指定内容
string.format_map({'var':'',})格式化,参数为dict类型
string.index() 找到位置,不存在报错(不用)
string.isalnum() 仅包含数字、字母,rtype:boolen
string.isalpha() 是否全为字母,rtype:boolen
string.isdigit() 是否全为数字(各种类型的数字,不包括中文,最常用)
string.isdecimal() 是否全为数字(仅十进制数)
string.numeric() 是否全为数字(支持中文)
string.isidentifier() 是否可以作为标识符(变量命名规则)
string.islower() 是否全为小写
string.lower() 转换为小写
string.isupper() 是否全为大写
string.upper() 转换为大写
string.isprintable() 是否存在打印时不可显示的字符(如\t\n),rtype:boolean
string.isspace() 是否全为空格,rtype:boolean
string.istitle() 是否为标题(每个单词首字母大写)
string.title() 转换为标题
'-'.join(string) 使用'-'对string中的字符进行拼接
string.lstrip() 移除string左侧的指定字符包含的最长公共子序列(默认移除空字符)
string.rstrip() 移除string右侧的指定字符包含的最长公共子序列(默认移除空字符)
string.strip() 移除string两侧的指定字符包含的最长公共子序列(默认移除空字符)
string.maketrans(s1, s2) 建立s1 s2对应关系
string.translate(m) 根据m的对应关系对string中的字符进行替换
string.partition('s') 以第一次遇到的's'对string进行分割,保留's'
string.rpartition() 从右侧起进行partition()操作
string.split('s', n) 以's'对string进行n次分割,不保留's'
string.rsplit() 从右侧起进行split()操作
string.splitlines(True) 根据\n对string进行分割,True/False指定保留/不保留
string.swapcase() 大小写互换
string.replace(old, new, n) 将string中old替换为new,执行n次


len() Python3:中文按字符计算 Python2:中文按字节计算
支持切片
支持遍历
字符串不可修改,只能重新创建
range(n, m, s) n: 起始值 m: 结束值 s: 步长


3.**列表 list**

list() 转换为list类型(支持字符串)
list.append(item) 将item追加至list中
list.clear() 清空列表
list.copy() 浅拷贝
list.count(item) 统计item的个数
list.extend(iterable) 扩展list(将可迭代对象的元素追加至list)
list.index(var,n,m) 在位置n,m间查询var的索引(只找到第一个返回)
list.insert(idx,item) 插入元素item到idx(索引号)位置
list.pop(idx) 弹出指定位置的值并返回(无参数默认返回最后一个元素)
list.remove(var) 删除指定值(有重复删除左侧第一个)
list.reverse() 反转列表
list.sort(reverse=True) 排序(True由大到小,False从小到大,不写参数默认从小到大)
del li[n:m] 删除元素(根据索引)
''.join() 将列表元素拼接为字符串(元素需全为字符串)

可迭代,支持切片
深拷贝deepcopy)与 浅拷贝copy
有序,元素 可以被修改


4.元组 tuple

tu = ('a', 'b',) #建议末尾多加个,以明显区分函数和元组尾部

tuple.count(item) 统计指定item出现的次数
tuple.index(item) 获取item的索引(重复取左一)

一级元素不可增加、修改、删除
可迭代
有序


5.字典 dict

{key: value} # key可以是 int、string、tuple、boolean(但要注意,布尔型与其他类型布尔值的对应关系(下文讲布尔型时会说到),同为False或True则不可并存

for k, v in dict.items(): 遍历键值对
for key in dict: 遍历键
for value in dict.values(): 遍历值

del dict[key] 删除key及对应的值
dict.clear()
dict.copy()
# 静态方法dict为类名
dict.fromkeys(keys, values) 根据序列创建字典,并指定统一的values,keys为可迭代对象
dict.get(key, rvalue) 根据key获取值,key不存在时返回rvalue(不写为None)
dict.pop(key,rvalue) 弹出键及对应值,
dict.popitem() 随机弹出键值对,rtype:tuple
dict.setdefult(key,value) 设置值,若key存在,获取并返回对应值;若key不存在,设置并返回设置的值
dict.update()

支持for遍历


6.布尔型 bool

布尔值:TrueFalse
数字:0False其他 均为 True
字符:空值 均为 False,非空值 均为 True

posted @ 2016-11-22 20:50  Li_Hanx  阅读(324)  评论(0)    收藏  举报