python知识点总结
- 0. 持续更新~
- 1. print不加end=自动加回车自动换行
- 2. eval()提取值
- 3. 三双引号字符串中可以包含换行符,制表符以及其他特殊字符
- 4. 字符串不能修改
- 5. 用in 或 not in判断字串是否在母串中
- 6. 网上做题print慎用‘,’会产生不该有的空格
- 7. input()每次输入一行,如果有多行输入,就用多次input()
- 8. pycharm无法正确引用自己写的py文件
- 9. 查看当前python版本
- 10. list[ ]转str(去除[ ])的方法
- 11. 遍历字典的键值对
- 12. 字典按照keys排序
- 13. 字典按照value排序
- 14. 列表指定位置插入insert
- 15. fun(*args, **kwargs)是什么意思?
- 16. filter方法求出列表中所有奇数并构造新列表
- 17. 列表推导式求奇数并构造新列表
- 18. map()根据提供的函数, 对制定序列做映射
- 19. [::-1]用于反转数组或序列的顺序
- 20. python中随机化列表的元素shuffle()
- 21. zip()函数用法
- 22. random()函数的用法
- 23. 生成器和迭代器的区别
- 24. 简单正则表达时
- 25. Counter库用于计数
- 26. 忽略warning输出
- 27. 控制命令行
- 28. pickle
- 29. split
- 30. [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
- 31. 交换两个变量的方法
- 32. 修改可递归次数
- 33. 全局变量的使用
- 34. dir()
- 35. copy, deepcopy()的区别
0. 持续更新~
1. print不加end=自动加回车自动换行
2. eval()提取值
3. 三双引号字符串中可以包含换行符,制表符以及其他特殊字符
4. 字符串不能修改
5. 用in 或 not in判断字串是否在母串中
6. 网上做题print慎用‘,’会产生不该有的空格
7. input()每次输入一行,如果有多行输入,就用多次input()
8. pycharm无法正确引用自己写的py文件
检查文件引用路径,使用sys或者os或者右击
并添加__init__.py文件在根目录下
9. 查看当前python版本
import sys
print(sys.version)
10. list[ ]转str(去除[ ])的方法
print(''.join(list))
11. 遍历字典的键值对
for key, value in dict.items():
print(key)
print(value)
12. 字典按照keys排序
sorted(dict.keys(), reverse = True)
13. 字典按照value排序
sorted(dict.items(), key = lambda item:item[1], reverse = True)
14. 列表指定位置插入insert
list.insert(index, context)
list = ['a', 'b']
list.insert(0, 'c')
>>> list = ['c', 'a', 'b']
15. fun(*args, **kwargs)是什么意思?
用于函数定义,可以将不定数量的参数传递给一个函数:预先不知道函数使用者会传递多少个参数给你,*args用来发送一个非键值对的可变参数列表给该函数,而**kwargs允许你将不定长度的键值对作为参数传递给一个函数(在函数中处理带名字的参数)
def demo(args_f, *args_v):
print(args_f) #输出 a
for x in args_v:#输出剩余参数
print(x)
demo('a', 'b', 'c', 'd')
<<<a
<<<b
<<<c
<<<d
def demo1(**args_v):
for k, v in args_v.items():
print(k)
print(v)
demo1(name='ijcai')
<<<name
<<<ijcai
16. filter方法求出列表中所有奇数并构造新列表
两个参数,一个是功能函数,另一个是操作的列表
a = [1, 2, 3, 4, 5]
def f(a):
return a%2==1
newlist = filter(f, a)
newlist = [i for i in newlist]
print(newlist)
17. 列表推导式求奇数并构造新列表
res = [i for i in a if i%2==1]
print(res)
18. map()根据提供的函数, 对制定序列做映射
map(function, iterable)
function:函数
iterable:一个或多个可迭代序列
exmaple:
def square(x):
return x**2
map(square, [1, 2, 3, 4, 5]) # 返回一个迭代器
map(lambda x:x**2, [1, 2, 3, 4, 5])
19. [::-1]用于反转数组或序列的顺序
20. python中随机化列表的元素shuffle()
from random import shuffle
x = ['a','b','c']
shuffle(x)
print(x)
21. zip()函数用法
将可迭代的对象作为参数,将对象中对应的元素打包成元组,然后返回由这些元组组成的对象,用于节省内存,可以使用list()转换成输出列表
22. random()函数的用法
import random
print(random.randint(1, 10))#1-10产生一个整数型随机数
print(random.random())#0-1之间的随机浮点数
print(random.uniform(1.1, 5.4))#1.1-5.4之间的随机浮点数,区间可以不是整数
print(random.choice('tomorrow'))#从序列中随机选取一个元素
print(random.randrange(1, 200, 2))#生成1-100间隔为2的随机整数
23. 生成器和迭代器的区别
24. 简单正则表达时
25. Counter库用于计数
from collections import Counter
26. 忽略warning输出
import warnings
warnings.filterwarnings('ignore')
27. 控制命令行
1. system()方法:启动命令行,将方法内的参数作为命令放入命令行中执行
os.system('command')
2. popen()方法:该方法是在命令行和python程序之间构造出一个中间管道,它在调用的时候指定打开方式,会返回一个文件对象来将运行结果保存在临时文件中
import os
p = os.popen('command', 'r')
while 1:
line = p.readline()
print(line)
import commands
status, output = commands.getstatusoutput('ls -1')
28. pickle
pickle模块接受任何python对象并将其转换为字符串表示形式,并使用dump函数将其转储到文件中。
从存储的字符串中检索原始python对象的过程成为unpickling
29. split
如何实现 “1,2,3” 变成 [“1”,“2”,“3”]
str1 = "1,2,3"
print(str1.split(","))
str1 = "1, 2, 3"
list1 = []
for data in str1.replace(",", "")
list1.append(data)
print(list1)
30. [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
old = [[1, 2], [3, 4], [5, 6]]
# 从old中一个一个取出值,对取出的值(i)再进行一次遍历取值操作(也可以进行判断或者运算)
new = [j for i in old for j in i]
print(new)
31. 交换两个变量的方法
a = 18
b = 30
a, b = b, a
32. 修改可递归次数
import sys
sys.setrecursionlimit(1500)#可递归次数修改为1500
# 默认递归1000次,实际上到不了1000次
33. 全局变量的使用
引用时加global修饰。引用全局变量,不需要golbal声明,修改全局变量,需要使用global声明,特别地,列表、字典等如果只是修改其中元素的值,可以直接使用全局变量,不需要global声明。
34. dir()
python中dir的作用是:1、dir函数传入数据类型返回该数据类型的所有内置方法;2、dir函数传入模块名返回该模块的所有属性和方法。
35. copy, deepcopy()的区别
36.Python 中会有函数或成员变量包含单下划线前缀和结尾,和双下划线前缀结尾,区别是什么?
- sorted和sort的区别?
sort()与sorted()的不同在于,sort是在原位重新排列列表,而sorted()是产生一个新的列表。
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
sort 只是应用在 list 上的方法(就地排序无返回值)。
sorted 是内建函数,可对所有可迭代的对象进行排序操作,(返回新的list)。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作