python学习随笔

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习随笔相关的知识,希望对你有一定的参考价值。

0.常见方法or函数:
1.urllencode()将字符串等转换为URL.(from urllib.parse import urlencode)
2.编码:json.dumps().把一个Pyhton对象编码转换成Json字符串.
解码:json.loads().把json格式字符串解码成Python对象.
3.soup.select:CSS选择器
4.hashlib提供常见的摘要算法:MD5,SHA1
摘要算法又称哈希算法、散列算法。
它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)
hashlib.MD5().hexdigest()输出加密后的密文
5.format():格式化字符串.http://www.cnblogs.com/hellofengying/p/4272569.html
6.sys.path。append("/*").添加当前目录下路径*
7.property.把方法封装,开发者在对属性设置数据的时候更方便
num = property(getNum, setNum) or @property @num.setter
8.
1.注释: 单行注释:#
多行注释:‘‘‘内容‘‘‘

2.python中自带换行,end=‘\\n‘.若写成end=""则不换行。
end后面也可以跟"+"、"="等

3.python2 输入函数:raw_input
python3 输入函数:input(两者效果相同)

4.print(" hello "*10)(hello是要输出的内容,10是要输出的遍数)

5.互换变量值: A=100,B=200
A,B = B,A 即可A=200,B=100

6.生成随机数 import random
random.randint(x,y)生成一个大于等于x小于等于y的随机数

7.长度 len(xxx)

8.切片 name="abcdefghijkl"
name[0]=a name[-1]=l
name[0:2]=ab
name[::]--->‘abcdefghijkl‘
name[::2]-->‘acegik‘
name[::-1]-->‘lkjihgfedcba‘

9.延时 import time
time.sleep(1) 单位:秒

10.全局变量在函数中可以随意调用,但是不可以修改,
除非在函数内加上:global 变量名,修改后会影响全局
可变类型需要加global,不可变的不需要

11.函数返回多个数据有三种方式:元组(),列表[],字典{ }

12.排序 xxx.sort() 从小到大 xxx.sort(reverse=True) 从大到小
如果列表里面是字典,则需要用到匿名函数(lambda)
a.sort(key=lambda x:x[字典的key],reverse=True)

13.不定长参数:*args(元组),**kwargs(字典,传入方式:xx=123),
解包:
当列表/元组当做实参传递的时候,如果前面有一个*,表示对其进行解包
意思是:[11,22,33]----->11,22,33
当字典当做实参传递的时候,如果前面有两个*,表示对其进行解包
意思是:{"aa":100,"bb":200}---->aa=100,bb=200

14.可变数据类型:列表、字典
不可变数据类型:数字、字符串、元组
字典中的key只能是不可变类型

15.a=a+a a的地址发生变化
a+=a a的地址不变

16.调函数是堆栈、出栈的过程

17.当有两个函数名一样时,后者会自动覆盖前者,但不会报错.

18.os.listdir("目录") 获取当前目录下的所有文件的名称

19. >>> s = set([1,5,6])
>>> s
{1, 5, 6}
>>> d = ([2,5,8])
>>> d
[2, 5, 8]
>>> type(s)
<class ‘set‘>
>>> type(d)
<class ‘list‘>

20.判断一个对象是不是迭代对象:Interable
from collections import Iterable
>>> isinstance(‘abc‘, Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False
可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator
可以使用isinstance()判断一个对象是否是Iterator对象:
>>> from collections import Iterator
>>> isinstance((x for x in range(10)), Iterator)
True
>>> isinstance([], Iterator)
False

21.列表生成器: [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

还可以使用两层循环,可以生成全排列:
[m + n for m in ‘ABC‘ for n in ‘XYZ‘]
[‘AX‘, ‘AY‘, ‘AZ‘, ‘BX‘, ‘BY‘, ‘BZ‘, ‘CX‘, ‘CY‘, ‘CZ‘]

把一个list中所有的字符串变成小写:
L = [‘Hello‘, ‘World‘, ‘IBM‘, ‘Apple‘]
[s.lower() for s in L]
[‘hello‘, ‘world‘, ‘ibm‘, ‘apple‘]

22.杨辉三角:
def yanghui():
L = [1]
while True:
yield L
L.append(0)
L = [L[i-1]+L[i] for i in range(len(L))]
n = 0
for t in yanghui():
print(t)
n = n + 1
if n == 10:
break
23.函数本身也可以赋值给变量
>>>f = abs
>>>f(-10)
10

24.把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。
from functools import reduce

25.多进程:from multiprocessing import Pool

GROUP_START = 1
GROUP_END = 20

if __name__ == "__main__":
groups = [x * 20 for x in range(GROUP_START, GROUP_END + 1)]
pool = Pool()
pool.map(main, groups)

26.==.判断是不是相同内容
is.判断指向的是不是同一个地址、空间。

27.__xx__表示系统给的函数
_类名__私有属性



























































































以上是关于python学习随笔的主要内容,如果未能解决你的问题,请参考以下文章

python学习随笔

python学习随笔1:python用户交互

python学习随笔-向量化

python学习随笔

python学习随笔

python学习随笔