用了这么长时间python开发,你还记得多少零碎的基础知识
python内置的数据类型
Python3.7内置的关键字
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
格式化输出
A = 'dog' print('It is a %s' % A ) # --> It is a dog # 格式符可以是 %d整数 %f浮点数 print('%06d'% 1111) #-->001111 # 拿0补全6位,不写0就是拿空格补全6位 print('%.3f' %1.2) #-->1.200 # 保留3位小数 print('It is a {}'.format(A) ) # --> It is a dog
关于format函数还可以设置参数,传递对象:format多种用法
逻辑运算符优先级and or not
当not和and及or在一起运算时,优先级为是not>and>or
字符串常见操作
<1>find
检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1mystr.find(str, start=0, end=len(mystr))
<2>index
跟find()方法一样,只不过如果str不在 mystr中会报一个异常.mystr.index(str, start=0, end=len(mystr))
<3>count
返回 str在start和end之间 在 mystr里面出现的次数mystr.count(str, start=0, end=len(mystr))
<4>replace
把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.mystr.replace(str1, str2, mystr.count(str1))
<5>split
以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串mystr.split(str=" ", 2)
<6>capitalize
把字符串的第一个字符大写mystr.capitalize()
<7>title
把字符串的每个单词首字母大写
>>> a = "hello world" >>> a.title() 'Hello world'
<8>startswith
检查字符串是否是以 hello 开头, 是则返回 True,否则返回 Falsemystr.startswith(hello)
<9>endswith
检查字符串是否以obj结束,如果是返回True,否则返回 False.mystr.endswith('.jpg')
<10>lower
转换 mystr 中所有大写字符为小写mystr.lower()
<11>upper
转换 mystr 中的小写字母为大写mystr.upper()
<12>ljust
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串mystr.ljust(width)
<13>rjust
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串mystr.rjust(width)
<14>center
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串mystr.center(width)
<15>lstrip
删除 mystr 左边的空白字符mystr.lstrip()
<16>rstrip
删除 mystr 字符串末尾的空白字符mystr.rstrip()
<17>strip
删除mystr字符串两端的空白字符
>>> a = "\n\t hello \t\n" >>> a.strip() 'hello '
<18>rfind
类似于 find()函数,不过是从右边开始查找.mystr.rfind(str, start=0,end=len(mystr) )
<19>rindex
类似于 index(),不过是从右边开始.mystr.rindex( str, start=0,end=len(mystr))
<20>partition
把mystr以str分割成三部分,str前,str和str后mystr.partition(str)
<21>rpartition
类似于 partition()函数,不过是从右边开始.mystr.rpartition(str)
<22>splitlines
按照行分隔,返回一个包含各行作为元素的列表mystr.splitlines()
<23>isalpha
如果 mystr 所有字符都是字母 则返回 True,否则返回 Falsemystr.isalpha()
<24>isdigit
如果 mystr 只包含数字则返回 True 否则返回 False.mystr.isdigit()
<25>isalnum
如果 mystr 所有字符都是字母或数字则返回 True,否则返回 Falsemystr.isalnum()
<26>isspace
如果 mystr 中只包含空格,则返回 True,否则返回 False.mystr.isspace()
<27>join
mystr 中每个元素后面插入str,构造出一个新的字符串mystr.join(str)
列表相关操作
- 修改元素
修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改 查找元素("查"in, not in, index, count)
index和count与字符串中的用法相同 >>> a = ['a', 'b', 'c', 'a', 'b'] >>> a.index('a', 1, 3) # 注意是左闭右开区间 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: 'a' is not in list >>> a.index('a', 1, 4) 3 >>> a.count('b') 2 >>> a.count('d') 0
- 删除元素("删"del, pop, remove)
del:根据下标进行删除,关键字del list[1]
pop:删除并返回最后一个元素list.pop()
还可以指定位置删除list.pop(0)
remove:根据元素的值进行删除,函数list.remove('dog')
排序(sort, reverse)
reverse方法是将list逆置list.reverse()
sort是将原list排序,a.sort(reverse=True)
# reverse=True 是对倒序排序
sorted是返回一个新列表
sorted和sort都有个参数key,key可以是lambda函数,来指定排序排序规则>>> sorted(L, key=lambda x:x[1]) # 利用key按照每个元素的1下标的子元素排序 [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
字典
查找元素
a = {'a':1} print(a.setdefault('b', 2)) # --> 2 # 找不添加到字典中 print(a.get('c')) # --> None # 找不到不报错 print(a) # --> {'a': 1, 'b': 2}
删除元素
a = {'a': 1, 'b': 2} del a['a'] # 删除指定key del a # 删除整个字典在内存里清除 clear a # 清空字典,a={}
字典常见操作
<1>dict.len()
测量字典中,键值对的个数
<2>dict.keys()
返回一个包含字典所有KEY的列表
<3>dict.values()
返回一个包含字典所有value的列表
<4>dict.items()
返回一个包含所有(键,值)元祖的列表- 后三个功for遍历使用
枚举enumerate()
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
>>> chars = ['a', 'b', 'c', 'd'] >>> for i, chr in enumerate(chars): ... print i, chr # 输出下标和对应的元素
集合
集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。
定义一个集合set1=set()
,注意:不能使用{}这是字典
- 添加元素(add,update)
set1 = {1, 2, 4, 5} set1.add(6) # 添加一个元素 set1.update("abcd") #是把要传入的元素拆分,做为个体传入到集合中
删除元素(remove,pop,discard)
set1.remove(22)
删除集合中的元素 如果有 直接删除 如果没有 程序报错set1.pop()
随机删除集合中的元素 如果set1没有元素讲程序报错set1.discard(2)
如果元素存在 直接删除 如果元素不存在 不做任何操作
- 交并差集(&|-) 都是返回一个新集合
数据类型的公共方法
运算符 | Python 表达式 | 结果 | 描述 | 支持的数据类型 |
---|---|---|---|---|
+ | [1, 2] + [3, 4] | [1, 2, 3, 4] | 合并 | 字符串、列表、元组 |
* | ['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 复制 | 字符串、列表、元组 |
in | 3 in (1, 2, 3) | True | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 4 not in (1, 2, 3) | True | 元素是否不存在 | 字符串、列表、元组、字典 |
python内置函数
- max() 返回最大元素
- min() 返回最小元素
- len(容器)
- del(变量) 删除变量
- map(function, iterable, ...)
根据提供的函数对指定序列做映射 - reduce(function, iterable[, initializer]) # initializer是初始参数
对参数序列中元素进行累积 - filter(function, iterable)
用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的迭代器对象(py3)。py2返回列表