列表

list.append(val)    #末尾追加,直接改变无返回
list.inert(2,val)   #插入到指定位置 list.extend(mylist1)  #list会被改变
list2=list+list1   #产生新的,原有的不改变 del list[1]  #根据索引删除
del list[:]    #删除全部
list.clear()  #清除原列表所有元素 list.remove("value")   #根据元素删除,注意只能删除从左边找到的第一个
list.pop()      #传入索引删除默认删除最后一个元素,也可以传入索引值删除指定位置 list.copy()    #返回一个新列表
list[:]       #返回一个新列表 list.reverse()  #将原列表翻转
mylist[::-1]    #产生一个新的翻转列表 val in list    #判断value是否存在于list中
mylist.index(val)   #返回从左边第一个找到val元素的下标,若列表不存在该元素,则报错
list.count(val)  #返回val在列表中的数目

扩展:双重循环列表解析式

[ j for i in con for j in i if j.isdigit() ]
print ("\n".join("\t".join(["%s*%s=%s" %(x,y,x*y) for y in range(1, x+1)]) for x in range(1, 10))) #一行打印出99乘法表

元组
索引、切片、循环、长度、包含(in)、count、index
引伸知识:切片
切片访问一个范围,切片的三个数可为负。也可为空,第一个数为空为最开头,第二个数表示
注意:切片切的时候会产生新的列表,但是新列表里面的元素地址和旧列表相同

字典

#单个元素的增删改查都可以利用索引完成
dict()   #全局工厂方法,接收列表做参数,该列表包含n个元组,元组包含键值对。例如:d=dict([(1,"d"),(2,'www')])-->{1:"d",2:'www'}。所以常用zip方法辅助产生。
dict.fromkeys(list,val)  #批量初始化一些键,并初始化为统一的默认值,例如dict.fromkeys([1,2,3],'testd') {1: 'testd', 2: 'testd', 3: 'testd'}
 #注意:当fromkeys第二个是可变对象时,意味着所以键都指向这个可变对象,所以不能使用这个方法创建值为列表的字典 。禁止mydict = dict.fromkeys(['k1', 'k2'], []) mydict.setdefault(key,val)   #key存在,不赋值,返回的是key对应的已有的值。key不存在,赋值,返回的则是要设置的默认值。某种情况下可以减少赋值次数
mydict.pop(key)  #删除元素 mydict.update(b)   #b = {1:2,3:4, "stu1102":"龙泽萝拉"}批量更新,当多于一个键时使用 mydict.items()  #返回元素为键值对元组的列表
mydict.keys()   #返回一键列表
mydict.values()   #返回一值列表

集合Set
无序,元素唯一且为不可变类型
有两种集合,set({1,2,3}) 和 {1,2,4}创建的为可变类型
而使用frozenset({1,2,3})创建的为不可变类型,可以将其看作一个排他性的元组
若仅仅去重操作,而不在意元素的本身的顺序,则放心地用吧

myset.add(xx)   #增加元素
myset.update(序列) #将序列拆成子元素,装入,值得注意的是,可以传入字符串 myset.pop()   #随机删除,基本不用
myset.remove(xx)   #删除不存在会报错
myset.discard(xx)   #删除,即使不存在,也不会报错 val in set     #判断元素是否存在 s1.issubset(s2)   #s1是s2的子集吗?
s2.issuperset(s1)   #s2是s1的父集吗? |   #合集
&  #交集 注意,这个的对立面试^,对称差集
-   #差集
^   #对称差集
>,>= #父集
<,<= #子集

字符串
b'str'型字符串:byte类型
  字节类型,也就是说本身就是个二进制,只不过python人性地根据ascii转化为人性可读
  数据基于网络传输或内存变量存储到硬盘时需要转成bytes类型,但此类字符串只能存储ascall码字符
r'str'型字符串:原始原始字符
  对字符串内容不做任何转义

#str为一个字符串,sub为str的一个子字符串。s为一个序列,它的元素都是字符串。width为一个整数,用于说明新生成字符串的宽度。

str.count(sub) 返回:sub在str中出现的次数
str.find(sub) 返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1
str.index(sub) 返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误 str.rfind(sub) 返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1
str.rindex(sub) 返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误 str.isalnum() 返回:True, 如果所有的字符都是字母或数字
str.isalpha() 返回:True,如果所有的字符都是字母
str.isdigit() 返回:True,如果所有的字符都是数字
str.istitle() 返回:True,如果所有的词的首字母都是大写
str.isspace() 返回:True,如果所有的字符都是空格
str.islower() 返回:True,如果所有的字符都是小写字母
str.isupper() 返回:True,如果所有的字符都是大写字母 str.split([sep, [max]]) 返回:从左开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.split(',')的方式使用逗号或者其它分割符
str.rsplit([sep, [max]]) 返回:从右开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.rsplit(',')的方式使用逗号或者其它分割符 str.join(s) 返回:将s中的元素,以str为分割符,合并成为一个字符串。join只能连接元素为字符串的列表 ,也就说可以接收生成器 str.strip([sub]) 返回:去掉字符串开头和结尾的空格。也可以提供参数sub,去掉位于字符串开头和结尾的sub str.replace(sub, new_sub) 返回:用一个新的字符串new_sub替换str中的sub
str.capitalize() 返回:将str第一个字母大写
str.lower() 返回:将str全部字母改为小写
str.upper() 返回:将str全部字母改为大写
str.swapcase() 返回:将str大写字母改为小写,小写改为大写
str.title() 返回:将str的每个词(以空格分隔)的首字母大写 str.center(width) 返回:长度为width的字符串,将原字符串放入该字符串中心,其它空余位置为空格。
str.ljust(width) 返回:长度为width的字符串,将原字符串左对齐放入该字符串,其它空余位置为空格。
str.rjust(width) 返回:长度为width的字符串,将原字符串右对齐放入该字符串,其它空余位置为空格。

数字类型
对于小数取位数时常用有。round(num,小数位)、math.floor 和 math.ceil

文件

1、刚调用f.write不会马上写到文件中,因为写入的内容都在内存(缓冲区中),需要调用f.flush()冲出来
2、在windows中换行是\r\n,但是python中文件处理会统一为\n,如果不需要,则在open('xx.txt','r',newline='')
3、file.read(4)可以传入参数,表示要去读取的字符个数,如果是b模式,则是字节数
4、文件截断:f.truncate(10) #表示文件从开头的十个位置,后面的都不要了,常用于‘r+’的重新写入
5、truncate是截断文件,所以文件的打开方式必须可写,但是不能用w或w+等方式打开,因为那样直接清空文件了,常见于 在r+模式下重写文件f.truncate(0)
5、写文件时候注意打开方式,什么+都行,就是w+不行。因为w+模式会把原来的内容清空
6、f.seek方法,移动的是字节数
7、f.readlines可以返回一个以换行为分隔的列表,(读取最后一行的时候,这个方法可以配合f.seek(x,2)利用)
8、f.write和writelines的区别,前者参数为字符串,后者为序列
9、同时用with语句打开两个文件:with open('f1.txt','r')as f1,open('f2.txt','w') as f2: 注意的是第二个open没有with
10、open函数,会查询系统的默认编码,作为打开文件时解码
可以传入encoding参数,例如,f=open('sss.txt','r+',encoding='utf-8'),这是因为每个文件的编码格式都有可能不一样,这个参数可以确保其用utf-8解码至Unicode.
当若以b模式打开,则不能使用encoding函数,因为读出来就是源生二进制,不会做任何转换
11、文件操作,使用for line in file 等迭代操作时,不能使用file.tell()。使用file.readline()则可以
12、使用file.readline判断文件结尾,
  temp=f.tell()
  f.seek(0,2) == temp

内置函数

以下为常用,更加详细点击这里

abs(x) 绝对值
divmod(a, b) 分别取商和余数,注意:整型、浮点型都可以
int([x[, base]])  将一个字符转换为int类型,base表示进制
int('0b010010',base=2) 表示以二进制识别字符串并把其转化为十进制
float([x]) 将一个字符串或数转换为浮点数。如果无参数将返回0.0
bool([x]) 将x转换为Boolean类型
dict([arg])

字典工厂方法

用法1:
conn_dict=dict(
host='localhost',
user='root',
password='Yiyidongwang13@',
database = 'my_pratice'
) 用法2:
d = dict([('a':1),('b':2)])
#d={'a':1,'b':2} 用法3(合并字典,替代update,update会改变原有字典),不过只适用于键值为字符串的
dict1 = {'a': 1, 'b': 2, 'c': 3}
dict2 = {'d': 4, 'f': 5, 'g': 6}
merged_dict = dict(dict1, **dict2)

list([iterable])  将一个集合类转换为另外一个集合类
可传入生成器参数
set() 集合工厂方法
frozenset() 冷冻集合工厂方法
str([object])  字符串工厂方法
tuple([iterable])  元组工厂方法
pow(x, y[, z])  返回x的y次幂,即x**y
round(x[, n])  四舍五入
sum(iterable[, start])  对集合求和
oct(x) 将一个数字转化为8进制
hex(x) 将整数x转换为16进制字符串
chr(i) 返回整数i对应的ASCII字符 
ord('A') -->65, chr(65)-->'A'
bin(x) 将整数x转换为二进制字符串
format(value [, format_spec]) 1)除了字符串的format函数之外,还有一个内置函数format可以将数字格式化指定格式字符串,例如format(3,'b') #转换成二进制 '11'

扩展:附上字符串的
2)格式化字符串,格式化的参数顺序从0开始,如“I am {0},I like {1}”

· 普通用法
'{1} love {0}'.format('sss','ziyi')
· 取子列表项
'{1[2]} love me {0[0]}'.format([1,2,3],[2,34,5])
Out[40]: '5 love me 1'
· 传入字典,字符串个格式 也要变
'{name} is {age} now'.format(name='ziyi',age=17)

   
zip([iterable, ...])  要求参数为长度相同的列表,各取一个元素打包为元组,在拼成列表 
a = [1,2,3]
b = [4,5,6]
zip(a,b)-->[(1, 4), (2, 5), (3, 6)]
sum(iterable[, start]) 对集合求和
max(iterable[, args...][key])  返回集合中的最大值
min(iterable[, args...][key]) 返回集合中的最小值
sorted(iterable[, cmp[, key[, reverse]]])  队集合排序
reduce(function, iterable[, initializer])  python3没有该函数,需要导入functools
类似于int sum = accumulate(va.begin(), va.end(), 0, [](int a,int b) {return a*10 + b; });
叠加集合函数,传入的函数需要得具备两个参数
filter(function, iterable) 构造一个序列,等价于[ item for item in iterable if function(item)]
1、参数function:返回值为True或False的函数,可以为None
2、参数iterable:序列或可迭代对象
map(function, iterable, ...)  遍历每个元素,执行function操作,相当于C++的each
map函数返回的结果是,由lambda 返回的值(原列表一个元素,lambda执行一次),组成的一个新列表
   
iter(o[, sentinel]) 1)返回一个对象的迭代器
2)iter()可将函数转化为迭代器,可以令函数一直执行直到某种条件终止。

例如:li=[1,2,3,4,5,6]
def test():
  return li.pop()
myiter = iter(test,3) #一直执行test函数,一直到返回值为3就终止的迭代器。
这个原理在socket编程时有妙用: msg=''.join(partial(conn.recv,1024),b'')

enumerate(sequence [, start = 0]) 返回一个枚举生成器,下标0开始
   
all(iterable) 1、集合中的元素都为真的时候为真
2、特别的,若为空串返回为True
any(iterable) 1、集合中的元素有一个为真的时候为真
2、特别的,若为空串返回为False
cmp(x, y) 如果x < y ,返回负数;x == y, 返回0;x > y,返回正数
对比 1 and 0 or 2 返回 True 因为1and0 返回false,False or 2返回True
   
globals() 返回一个描述当前全局符号表的字典
loacals() 返回当前可见的变量列表
vars() 和dir方法类似,dir的是属性列表,这个是属性字典
dir() 1、不带参数时,返回当前范围内的变量、方法和定义的类型列表;
2、带参数时,返回参数的属性、方法列表。
3、如果参数包含方法__dir__(),该方法将被调用。当参数为实例时。
4、如果参数不包含__dir__(),该方法将最大限度地收集参数信息
   
callable(object) 检查对象object是否可调用
isinstance(object, classinfo) 判断object是否是class的实例
issubclass(class, classinfo) 判断是否是子类
   
eval(expression [, globals [, locals]])  将字符串按照python语法规则转化为代码执行
exec  类似于eval,但是没有返回值
可以把exec命令的执行当成是一个函数的执行,会将执行期间产生的名字存放于局部名称空间中

exec:三个参数
参数一:字符串形式的命令
参数二:全局作用域(字典形式),如果不指定,默认为globals()
参数三:局部作用域(字典形式),如果不指定,默认为locals()
g={
'x':1,
'y':2
}
l={} exec('''
global x,z
x=100
z=200 m=300
''',g,l) print(g) #{'x': 100, 'y': 2,'z':200,......}
print(l) #{'m': 300}
   
hash(object) 如果对象object为哈希表类型,返回对象object的哈希值
id  内存地址  
type  对象类型
print

print('\r%s %d%%' %(show_str,int(100*percent)),file=sys.stdout,flush=True,end='')

%-50s 代表字符串总长为50,传入的字符往左写,右边用空格。
print(('[%%-%ds]' %500) %'###')

python: 基本数据类型 与 内置函数 知识整理的更多相关文章

  1. Python---基础---数据类型的内置函数

    2019-05-23 ---------------------------- 一. #数据类型的内置函数Python有哪些数据类型?Number   数值型string   字符型list     ...

  2. 建议你吃透python这68个内置函数!

    内置函数就是Python给你提供的, 拿来直接用的函数,比如print,input等. 截止到python版本3.6.2 ,一共提供了68个内置函数,具体如下 abs() dict() help() ...

  3. Python标准库:内置函数hasattr(object, name)

    Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False ...

  4. python字符串——"奇葩“的内置函数

      一.前言 python编程语言里的字符串与我们初期所学的c语言内的字符串还是有一定不同的,比如python字符串里的内置函数就比语言的要多得多:字符串内的书写格式也会有一点差异,例:字符串内含有引 ...

  5. python 类(object)的内置函数

    python 类(object)的内置函数 # python 类(object)的内置函数 ### 首先 #### 以__双下划线开头的内置函数 __ #### __往往会在某些时候被自动调用,例如之 ...

  6. Python数据类型的内置函数之tuple(元组),dict(字典),set(集合)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) tuple(元组)的操作 - (count)统计元组中元素出 ...

  7. Python数据类型的内置函数之list(列表)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) list(列表)的操作 - (append)在列表最后追加指 ...

  8. Python数据类型的内置函数之str(字符串)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) str(字符串)的一些操作 - 字符串相连方法 # 字符串的 ...

  9. Python语法速查: 1. 数据类型与内置函数

    返回目录 (1)常用内置数据类型 分类 类型名称 描述 数字 int 整数 float 浮点数 complex 复数 bool 布尔值 序列 str 字符串(不可变序列) list 列表 tuple ...

随机推荐

  1. 手动部署 Ceph Mimic 三节点

    目录 文章目录 目录 前文列表 部署拓扑 存储设备拓扑 网络拓扑 基础系统环境 安装 ceph-deploy 半自动化部署工具 部署 MON 部署 Manager 部署 OSD 部署 MDS 部署 R ...

  2. Jmeter之Cookie和Session处理

    Jmeter之Cookie和Session处理 1.Cookie 添加方式:线程组-配置元件-HTTP Cookie 管理器,如下图: 2.Session 添加方式:线程组-前置处理器 -HTTP U ...

  3. 使用robotframework做接口测试二——处理响应数据

    初使用RequestsLibrary做接口测试时,你会不会感到困惑,为什么会有${resp.content}, ${resp.status_code}这样的写法,这个status_code什么鬼,f5 ...

  4. 利用delve(dlv)在Visual Code中进行go程序的远程调试-debug方式

    最近碰到一个问题,如何在Windows的IDE或者文本编辑器上,远程调试Linux服务器上的golang程序. 虽然想说gdb走你,但既然go有dlv这样的类似Java的jdwp的原生方案,而且我用的 ...

  5. Python-数据库连表查询、子查询

    连表查询 [实例]通过例子来熟悉连表查询的概念 # 第一步:建表 # 建立英雄职业分类表格 create table classification( id int, name varchar(20) ...

  6. 对scrapy进行单元测试 -- 使用betamax

    使用betamax进行单元测试 爬虫代码 测试代码 对于scrapy的单元测试,官方文档并没有提到,只是说有一个Contract功能.但是相信我,这个东西真的不好用,甚至scrapy的作者在一个iss ...

  7. 更改默认浏览器(Windows7)

    更改默认浏览器 第一个方法(最好用): 第一步,先点击左下角WIN 然后点默认程序(画框框的图上) 第二步骤,来到控制面板主页,点击设置程序 第三步骤,左键单击选择要设置为默认浏览器的程序(我用360 ...

  8. vscode配置PHP Debug

    1.先在vscode中安装PHP Debug,在设置添加“php.validate.executablePath”项,选中对应版本的php.exe. "php.validate.execut ...

  9. webpack打包vue项目之后怎么启动&注意事项

    参考路径:https://blog.csdn.net/cn_yaojin/article/details/80164477 参考路径:https://www.imooc.com/article/323 ...

  10. HTML笔记(三) 表格和列表

    本篇记录表格 (table) 和有序列表 (ordered list) \ 无序列表 (unordered list) 的部分用法 1.表格table 表格标签 使用 <table> 定义 ...