被忽略的对象(续)

补充说明:1python是区分大小写字母的,如a和A是两个不同的标签。

     2、python中的各标点符号应采用英文半角,若采用中文的标点符号则会报错,如‘:’和‘:’ 

       3、 在交互式命令行中使用“Ctrl+N”和“Ctrl+P”可以回显之前敲过的代码。

 


 

运算符

python中的算术运算有:+(加)、-(减)、*(乘)、/(除)、 //(整除)、**(幂运算)、%(取模,返回除法余数),其中"+""-"作单目运算符时表"正""负"(单目运算符即只有一个数参与运算)

其中需要注意的是“/”和“//”的区别:

'/'是正常除法运算,结果为浮点数;'//'和c语言的'/'功能一样都是取结果的整数部分,结果为整数

python中的比较运算符有:>(大于)、<(小于)、==(等于)、>=(大等于)、<=(小等于)、!=(不等于) 比较运算符主要用于比较两个数的大小关系

python中的赋值运算符有:=、+=、-=、*=、/=、//=、**=、%=  细心的小伙伴可以发现赋值运算符除了多个“=”外基本和算术运算符一模一样。其实这根本就是“=”赋值符号和算术运算符的结合:

“c = c + 2”与 "c += 2"的效果是一样的, "c += 2"就是“c = c + 2”的缩写,类似操作系统Operating System的缩写是OS一个道理。

python中的位运算符有:&(与)、|(或)、^(异或)、~(非,即按位取反)、<<(左移)、>>(右移)  位运算符是针对二进制数按位进行操作

python中的逻辑运算符有:and(与)、or(或)、not(非)  逻辑运算符常出现在选择语句与循环语句中,与布尔型变量(True和False)搭配使用

python的成员运算符有:in    not in       用以判断成员是否存在于某个序列中,返回布尔型变量结果

 


 

这篇博客延续上一篇的内容,主要对列表list,元组tuple,字典dict和集合set作个介绍。(不仅这些数据结构是对象,数据结构中的数据也可以是对象,总之,在python中一切皆对象)

其中列表list、元组tuple和字符串str 均为序列

作为序列,它们有着共同的特征:

  • 它们都可以通过索引得到每一个元素
  • 默认索引值总是从0开始
  • 可以通过分片的方法得到一个范围内的元素的集合
  • 有很多共同的操作符(重复操作符*、拼接操作符+、成员关系操作符in)

列表

menber = ['小红','小明','小黄','小绿','小白'],menber是一个列表。列表用“[]”表示,列表中的成员可重复,可改变,且列表是有序的;(这里列表中的元素以成员表示是因为列表中的元素不仅仅是数,还是一个对象

 

列表操作符有:“+”、“*”、"in" 与"not in"

ps:列表操作符同样适用于元组和字符串

 

关系运算符in 与not in无法嵌套使用,只能针对一层列表使用

想了解列表list的更多信息可通过执行help(list)查看

元组

 menber = ('小红','小明','小黄','小绿','小白'),menber是一个元组。元组用“()”表示,元组中的成员可重复,可改变,且元组是有序的;(这里元组中的元素以成员表示是因为元组中的元素不仅仅是数,还是一个对象

 

元组和列表有很多共通之处,但它们最大的不同就是元组中的成员不可被改变,且适用于列表的一些方法并不适用于元组。

元组的内置方法只有两种:

用于计算成员出席次数的count()和用于索引成员位置的index(),相比于元组,列表有更多可使用的内置方法:

针对这些方法,稍后会统一说明,此外,字符串同样适用其中部分方法。

字典

字典最显著的特点是映射,一个键值对组成字典的一个成员,字典的值可以是任意对象,但键是唯一的,是不可变的。同时字典也是有序的。(此处有序是针对我的python3.6版本,貌似之前的版本有有序无序的区分)

创建字典

dict1 = {key: value, key1: value1, key2: value2, ...}         字典用“{}”表示,以“,”分隔每个成员

可以使用dict1[键] 的方式来获取对应该键对应的值

 集合

 python中的集合概念与数学中的集合是一样的,同样是成员唯一,且无序的。

集合同样使用“{}”来表示,若一个使用了“{}”的对象没有呈现出映射关系,则它就是一个集合

从执行结果可以看出,集合中的成员可以是任意对象,除了列表list

从以上的执行结果则可很明显地看出,集合中的成员是无序的也是唯一的。

python中有许多经常用到的内置函数,以及一些对象(list,tuple,string,dict,set)的内置方法,特在此对一些常用的内置函数与内置方法做个归纳总结:


内置函数(BIF:Built-in Function)

type() = > 显示数据(对象)类型

isinstance(a,int) => 类型比较,结果为True/False

len() => 计算参数长度并返回,如len('dad ! 1') ==> 7(空格也要算在内)

id(标签) => 显示标签对应的存储空间

range([start,] stop [,step=1]) => 生成一个从start参数的值开始到stop参数的值结束的数字序列,步进step不写则默认为1

list(iterable) => 将数据转换为列表

tuple(iterable) => 将数据转换为元组 ===> iterable(迭代器):功能类似for循环,将数据迭代至循环结束

str(iterable) => 将数据转换为字符串

max() => 返回序列或参数集合中的最大值

min() => 返回序列或参数集合中的最小值

sum(iterable[,start]=0) => 返回序列iterable和可选参数start的总和

sorted() => 将序列排序,默认从小到大排序。可设置sorted()的reverse参数为Ture,实现从大到小排序

reversed() => 反置序列

emumerate() => 枚举序列 例:numbers = [1,18,13,0,-98,23,44]     enumerate(numbers) => [(0,1),(2,18),(3,13),(4,0),(5,-98),(6,23),(7,44)]

zip(a,b) =>列表合并   例:a = [1,2,3,4]    b = [5,6,7,8,9,10] zip(a,b) => [(1,5,),(2,6),(3,7),(4,8)]

filter(function or None, iterable) => 过滤器,过滤序列中的False,保留True

map(function or None, iterable) => 加工序列并返回加工后的序列

print() => 输出 例:print('The length of %s is %d' % (s,x))

dict() => 创建字典 例:dict2 = dict((('F',70),('i',105),('s',115),('h',104),('C',67))) => {'F': 70, 'i': 105, 's': 115, 'h': 104, 'C': 67} 或 dict3 = dict(小甲鱼=‘让变成改变世界’,苍

井空=‘让av征服所有宅男’)

set() => 工厂函数,可以用于建立集合 例:set1 = set([1,2,5,3,6,7]) => {1,2,5,3,6,7}

add(sub) => 添加新元素到原集合 

remove(sub) => 移除集合中的元素

frozenset() => 可用于建立一个不可变的集合

open(file[,mode='r']) => 打开一个文件 若打开的文件要添加路径,则输入的'\\'要两个,一个用来转译

issubclass(classA,classB) => 判断classA是不是classB的一个子类,是的话返回True,否则返回False。classB也可以是一个元组(A,B,C..)

isinstance(object,classinfo) => 检查一个实例是否属于这个类,是的话返回True,否则返回False

如果第一个对象传入的不是实例类型则永远返回False

如果第二个参数不是类或由类对象组成的元组,会抛出一个TypeError异常

hasattr(object,name) => 检测对象里面是否有指定的属性,是的话返回True,否则返回False。

getattr(object,name[,default]) => 返回对象指定的属性值,如果指定的属性不存在,则返回设定的default值

setattr(object,name,value) => 给对象指定的属性赋值,如果该属性不存在则创建一个属性

delattr(object,name) => 删除对象中指定的属性,属性不存在则抛出异常AttributeError


 方法(method)

append() => 向列表添加成员,例:menber.append("小明") 只可添加一个成员

extend() => 向列表添加成员,可添加两个以上的成员,例:menber.extend(["小红","小绿"])

insert() => 向列表添加成员,例:menber.insert(1,"小黄")

ps:前两种方法成员自动添加到列表的最后方,第三中方法则可以选定插入的位置

remove() => 将列表中的元素删除,例:menber.remove('怡静')

index(sub[,start][,end]) => 返回列表中参数的位置,例:list.index(123) => 0

reverse() => 前后元素反置

sort() => 列表元素排序

capitalize() => 把字符串第一个字符改为大写
======> 返回一个新的字符串,原字符串并没用改变
casefold() => 把字符串的所有字符改为小写

center(width) => 将字符串居中,并使用空格填充至长度width的新字符串

count(sub[,start][,end]) => 返回sub在字符串里边出现的次数,start和end参数表示范围,可选

endwith(sub[,start][,end]) => 检查字符串是否以sub子字符串结束,如果是返回True,否则返回False。start和end参数表示范围,可选

expand([tabsize=8]) => 把字符串中的tab符号(\t)转换为空格,如不指定参数,默认空格是tabsize=8

find(sub[,start][,end]) => 检测sub是否包含在字符串中,如果有则返回(第一个)索引值,否则返回-1,start和end参数表示范围,可选

isalnum() => 如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False

isalpha() => 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False

isdecimal() => 如果字符串只包含十进制数字则返回True,否则返回False

isdigit() => 如果字符串只包含数字则返回True,否则返回False

islower() => 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回False

isnumeric() => 如果只字符串中只包含数字字符,则返回True,否则返回False

isspace() => 如果只字符串中只包含空格,则返回True,否则返回False

istitle() => 如果字符串是标题化(所以单词都是以大写开始,其余字母均小写),则返回True,否则返回False

isupper() => 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回False

join(sub) => 以字符串作为分隔符,插入到sub中所有的字符之间

ljust(width) => 返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串

lower() => 转换字符串中所有大写字符为小写

lstrip() => 去掉字符串左边所有空格

partition(sub) => 找到子字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回('原字符串',' ',' ')

replace(old,new[,count]) => 把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次

rfind(sub[,start][,end]) => 类似于find()方法,不过是从右边开始查找

rindex(sub[,start][,end]) => 类似于index()方法,不过是从右边开始

rjust(width) => 返回一个右对齐的字符串,并使用空格填充至长度为width的新字符串

rpartition(sub) => 类似于partition()方法,不过是从右边开始查找

rstrip() => 删除字符串末尾的空格

split(sep=None,maxsplit=-1) => 不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分割maxsplit个字符串,

返回切边后的字符串拼接的列表

splitlines(([keepends])) => 按照'\n'分隔,返回一个包含各行作为元素的列表,如果keepends参数指定,则返回前keepends行

startwith(prefix,[,start[,end]]) => 检查字符串是否以prefix开头,是则返回True,否则返回False。start和end参数表示范围,可选

strip([chars]) => 删除字符串前边和后边的所有空格,chars参数可以定制删除的字符,可选

swapcase() => 翻转字符串中的大小写

title() => 返回标题化(所以单词都是以大写开始,其余字母小写)的字符串

translate(table) => 根据table的规则(可以有str.maketrans('a','b')定制)转换字符串中的字符

upper() => 转换字符串中的所以小写字符为大写

zfill(width) => 返回长度为width的字符串,原字符串右对齐,前边用0填充

fromkeys(key[,value]) => 不改变原字典创建一个新的字典 例:dict1 = {}    dict1.fromkeys((1,2,3)) => {1:None,2:None,3:None} 且 dict1 == {}

keys() => 返回字典的keys

values() => 返回字典的values

items() => 返回字典的key和value

get(key[,value]) => 返回字典对应key的值

clear() => 清空字典 相较直接给字典赋{}是删除该标签,clear()是清空该标签内容

copy() => 浅拷贝 将字典拷贝到另一存储空间,不受原字典标签影响

pop(key) => 根据key弹出一组(key:value)

popitem() => 随机弹出一组(key:value)

setdefault(key[,value]) => 返回字典对应key的值或者若该key不存在则给该key赋值

 

 

ps:以上的部分内容是我以前看小甲鱼python教学视频整理出的笔记里的内容

posted @ 2018-06-13 23:00  3fman  阅读(131)  评论(0编辑  收藏  举报