Python知识点整理1

内置的 type() 函数可以用来查询变量所指的对象类型

del语句删除对象引用

连接(拼接) 用连接符号+来表示连接两个字符串。

重复输出字符串
语法是 str*n 其中str是要重复的字符串,n表示重复的次数

截取字符串
从一个母字符串中截取一个或者多个子字符串:
变量[头下标:尾下标]
索引值以 0 为开始值,如果尾下标是负数,表示从末尾的开始位置,比如-1 为倒数第1个字符结束

续行
另外,反斜杠(\)可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行。

1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
2、字符串可以用+运算符连接在一起,用*运算符重复,用其他符号报错
3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
4、Python中的字符串中的某个字符不能改变。

用in或者not in来判断集合中是否存在某个元素

差集:a-b:结果等于a集合中某个元素在b集合中也存在,则在a-b的集合中删除该元素,等价difference()方法。

并集:a|b:结果等于a集合中的元素合并b集合的元素,除去相同的元素,等价union()方法

交集:a和b的交集,等价intersection()方法:交叉
结果等于a集合和b集合的共同存在的元素

对称差集:a^b,a集合中的元素不在b集合中,或者b集合中的元素不在a集合中,其结果是所有这些元素的集合,两个列表里面,互相没有的取出来,也就是只去掉那些互相都有的值,等价symmetric_difference()

add():往set中添加一个元素只有set中不存在该元素时,才会加入该元素.

update():往set中添加多个元素

clear():清空集合中所有的元素

copy() 拷贝

remove() 删除指定元素,元素不存在则报错。

discard(): 删除指定元素,元素不存在不报错

pop():取出集合对象的顶部元素

a.issubset(b):a是否是b的子集。

s.issuperset(t):s是否是t的父集

difference(): 返回由两个或多个set中不同的元素组成一个新set,新set由那些属于当前set,但不在其它set中的元素组成。

union()方法:结果等于a集合中的元素合并b集合的元素,除去相同的元素。

intersection()方法:交叉集合结果等于a集合和b集合的共同存在的元素

symmetric_difference():对称差集,,a集合中的元素不在b集合中,或者b集合中的元素不在a集合中,其结果是所有这些元素的集合,两个列表里面,互相没有的取出来,也就是只去掉那些互相都有的值

了解集合所有方法
help(set)

frozenset()函数是返回一个冻结的集合。所谓冻结就是这个集合不能再添加或删除任何集合里的元素。

Python元组包含了以下内置函数
1、len(tuple):计算元组元素个数。
2、max(tuple):返回元组中元素最大值。
3、min(tuple):返回元组中元素最小值。
4、tuple(seq):将列表转换为元组。

range()函数表示一个数字数列,如果rang(a,b,c),a是一个序列的开始值,b是一个序列的结束值,c是一个序列的变化值,表示范围为[a,b),a包括但是b不包括,c表示变化值(迭代值),如果不指定,c默认为1,c的值也可以是负数,a默认值为0。

在Python中,break 语句用于跳出当前循环体,包括while和for循环。

continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

pass语句在python中就表示空语句,不做任何事情,相当于Java中的;或者类似c里面写个;。

在python的命令行,输入dir(__builtins__)即可得到所有的内置函数。

Python 定义函数使用 def 关键字,一般格式如下:
def 函数名(参数列表):
函数体
需要注意几点:
1、函数代码块以 def 关键词开头,后接函数名称和圆括号 ()。
2、函数名称要符合Python的命名规范
3、任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义多个参数,每个参数用“,”隔开。
5、函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
6、函数内容以冒号起始,并且缩进。
7、 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
8、写在return语句下的语句是不会执行的,是"死"代码。

lambda作为一个表达式,它就是一个函数,且是匿名函数,所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数,上例的代码x为入口参数,x+1为函数体,用函数来表示为:
def g(x):
return x+1
  非常容易理解,在这里lambda简化了函数定义的书写形式。是代码更为简洁,但是使用函数的定义方式更为直观,易理解。

# 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表
flist=os.listdir(r'Q:\temp')
print(flist)
#os.path.splitext:分离文件名与扩展名;
# 默认返回(fname,fextension)元组,可做分片操作
flist=list(map(lambda x: os.path.splitext(x)[0] ,flist))
print(flist)

list.append(x) 把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]。
list.extend(L) 通过添加指定列表的所有元素来扩充列表,相当于 a[len(a):] = L。
list.insert(i, x) 在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如
a.insert(0, x) 会插入到整个列表之前,而 a.insert(len(a), x) 相当于 a.append(x) 。
list.remove(x) 删除列表中值为 x 的第一个元素。如果没有这样的元素,就会返回一个错误。
list.pop([i]) 从列表的指定位置删除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素。
元素随即从列表中被删除。(方法中 i 两边的方括号表示这个参数是可选的,而不是要求你输入
一对方括号,你会经常在 Python 库参考手册中遇到这样的标记。)
list.clear() 移除列表中的所有项,等于del a[:]。
list.index(x) 返回列表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误。
list.count(x) 返回 x 在列表中出现的次数。
list.sort() 对列表中的元素进行排序。
list.reverse() 倒排列表中的元素。
list.copy() 返回列表的浅复制,等于a[:]。

Python的输出
2.1、%
#%s表示输出一个字符串
name="zhengfeng chen"
print("My name is %s" %(name))

2.2 %d表示输出一个整数
age=23
print("My age is %d" %(age))

2.3 %f表示输出一个浮点数,默认小数点6位,多出的数据四舍五入
price=23.5623425252
print("the price of the cup is %f" %(price))

2.4 %.3f表示输出一个浮点数,小数点有三位,多出的数据四舍五入
price=23.5627425252
print("the price of the cup is %.3f" %(price))

2.5 指定占位符宽度,右对齐
print("My age is %8d,My name is %20s" %(age,name))
age=2
name="czf"
print("My age is %8d,My name is %20s" %(age,name))

2.6指定占位符宽度,左对齐
name="zhengfeng chen"
print("My age is %-8d,My name is %-20s" %(age,name))
age=2
name="czf"
print("My age is %-8d,My name is %-20s" %(age,name))
输出的结果如下:
My name is zhengfeng chen
My age is 23
the price of the cup is 23.562343
the price of the cup is 23.563
My age is 23,My name is zhengfeng chen
My age is 2,My name is czf
My age is 2 ,My name is zhengfeng chen
My age is 2 ,My name is czf

{0:f}中的f表示输出一个浮点数,默认小数点6位,多出的数据四舍五入,0表示第一位占位符

^、<、>分别是居中、左对齐、右对齐,后面带宽度
print("My age is {0:^8},My name is {1:^20}".format(age,name))
print("My age is {0:<8},My name is {1:<20}".format(age,name))
print("My age is {0:>8},My name is {1:>20}".format(age,name))

b、d、o、x分别是二进制、十进制、八进制、十六进制
print('{:b}'.format(27))
print('{:d}'.format(27))
print('{:o}'.format(27))
print('{:x}'.format(27))

用逗号还能用来做金额的千位分隔符
print('${:,}'.format(123456789))

str.format() 函数来格式化输出值

str(): 函数返回一个用户易读的表达形式。
repr(): 产生一个解释器易读的表达形式。

repr()函数不转义字符串中的特殊字符,str()转义

repr() 的参数可以是 Python 的任何对象

如果执行导入某个模块的部分内容,可以使用from…import 语句,Python的from语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:
from modname import name1[, name2[, ... nameN]]

查看math模块中所有的方法:
>>> import math
>>> dir(math)

os.path.exists(path) 判断一个目录是否存在,如果存在,则返回True,如果不存在,返回False.

创建一个文件夹
方法1:os.mkdir(path) 创建目录
方法2:os.makedirs(path) 多层创建目录
这两个函数之间最大的区别是当父目录不存在的时候os.mkdir(path)不会创建,os.makedirs(path)则会创建父目录。
需要注意的是,上面两种方法,如果目录已经存在,则不能再创建,否则报错。

os.walk遍历文件夹,这个方法返回的是一个三元tupple(dirpath, dirnames, filenames),
其中第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
dirpath是一个string,代表目录的路径,
dirnames是一个list,包含了dirpath下所有子目录的名字,
filenames是一个list,包含了非目录文件的名字.这些名字不包含路径信息,如果需要得到全路径,需要使用 os.path.join(dirpath, name).

1、删除文件:
os.remove()
2、删除空目录:
os.rmdir()
3、递归删除空目录:
os.removedirs()

删除一个非空文件
#coding=utf-8
import shutil
shutil.rmtree(r"Q:/d")

1、os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。
2、os.path.join:将多个路径组合后返回
3、os.path.isdir()函数来判断路径是否为目录。

pip install 模块 从网上下载模块并安装

f.readline() 会从文件中读取单独的一行,f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。如果设置参数为n,则每行读取n个字符。

f.readlines() 将返回该文件中包含的所有行,返回值为一个列表,如果设置可选参数 sizehint, 则读取指定长度的字节, 并且将这些字节按行分割,但是sizehint只是在Python3中有效。

写内容到一个文件
设置模式方式为w,方法为write()
1、原来文本上的内容都会被删除
2、如果原文件不存在,则会自动创建一个文件
3、如果要写入一些不是字符串的东西, 那么将需要先进行转换

在文件中追加内容
设置模式方式为a,方法为write()
1、在原来文本上的内容追加内容
2、如果原文件不存在,则会自动创建一个文件
3、如果要写入一些不是字符串的东西, 那么将需要先进行转换

f.tell() 返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。

如果要改变文件当前的位置, 可以使用 f.seek(offset, from_what) 函数。

f.close()在文本文件中 (那些打开文件的模式下没有 b 的), 只会相对于文件起始位置进行定位。
当你处理完一个文件后, 调用 f.close() 来关闭文件并释放系统的资源,如果尝试再调用该文件,则会抛出异常。

file.flush()
刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

file.isatty()
如果文件连接到一个终端设备返回 True,否则返回 False。

file.next()
返回文件下一行。

file.truncate([size])
从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后 V 后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。

r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入
到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内
容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该
文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不
存在,创建新文件用于读写。

猜你喜欢

转载自www.cnblogs.com/qingqinghaidong/p/9122761.html