那有115资源订制(持续更新)

python是一门很灵活的解释性语言,本人在阅读别人优秀代码时会遇到一些有意思的编程技巧,故写下来方便回顾。 

本文将在这里长期更新。 

总结python知识点:python interview

 

巩固Numpy知识:101 NumPy Exercises for Data Analysis

 

python内置函数

List Comprehensions

 

一种简易的循环+创建list的方式,很常用。

 

zip

 

可快速的将两个向量中的对应元素合并成一个tuple。

 

defaultdict

 

(n,)与(n,1)区别:(n,1)可方便的进行broadcast。

 

python使用分号

 

operator.itemgetter

 

定义一个获取对象哪些维的函数

 

字典的使用

 

item()

 

返回一个列表对象

iteritems()

 

返回一个迭代器

如何将一个字典的value按照从小到大排列?

 

python 

classCount = defaultdict(lambda: 0) 

for vote in classList: 

classCount[vote] += 1 

sortedClassCount = sorted(classCount.iteritems(),\ 

key=operator.itemgetter(1), reverse=True) 

函数属性实现全局变量

 

def fuc1():

 #通过一个 ".",使用了fuc2的变量

 b = fuc2.a 

 print b

 

def fuc2():

 #这里需要注意的是,在fuc2函数内部使用a,同样要进行域确定,即

 #fuc2.a,才能访问

 fuc2.a = 0

 fuc1()

 

fuc2()  #打印的结果是 0

 

#访问fuc2的变量

 

print fuc2.a #打印的结果还是 0

 

 

#当在外面进行值变化时,fuc2的变量改变了,从而实现了全局变量的效果

 

fuc2.a = 2

fuc1() #全局变量的实现,现在输出的结果是 2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Python3中dict实现按key返回:

 

keys = list(mydict.keys())

items = list(mydict.items())

keys, values = tuple(zip(*items))

1

2

参考:

 

python3中的items()

dict.keys()

@staticmethod 和@classmethod

 

@classmethod 为类方法,只在类中运行不在实例中运行,可以通过实例调用或者类调用,第一个参数为类名。

 

@staticmethod 为静态方法,只能用类名调用。

 

Numpy函数使用

np.argmax:找到数组的指定axis的最大值下标

 

np.random.randn:生成标准正态分布的随机数。

 

np.linalg.norm :计算向量的二范数或者无穷范数等。

 

np.nan_to_num :将NAN代替为0,无穷数代替为有限数。

 

np.linspace、np.arange():创建等差数列

 

np.logspace:创建等比数列

 

 

matplotlib使用

绘制标注

 

所有的变量可以参考

 

参考示例

 

import numpy as np

import matplotlib.pyplot as plt

 

fig = plt.figure()

ax = fig.add_subplot(111, polar=True)

r = np.arange(0,1,0.001)

theta = 2*2*np.pi*r

line, = ax.plot(theta, r, color='#ee8d18', lw=3)

 

ind = 800

thisr, thistheta = r[ind], theta[ind]

ax.plot([thistheta], [thisr], 'o')

ax.annotate('a polar annotation',

         xy=(thistheta, thisr),  # theta, radius

         xytext=(0.05, 0.05),    # fraction, fraction

         textcoords='figure fraction',

         arrowprops=dict(facecolor='black', shrink=0.05),

         horizontalalignment='left',

         verticalalignment='bottom',

         )

plt.show()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

plt.xticks(my_x_ticks)

 

人为设置坐标轴

 

x.set_xlim(0,100)

 

人为设置坐标轴范围

 

ax.set_xscale('log', basex=2)

 

指定坐标轴方式,可为任意

上一篇:sqli(9)


下一篇:哪里卖115云盘资源私人订制