类属性只有类及其实例能够访问,可以理解为一个独立的命名空间。Python中类属性的引用方式有两种:1. 通过类的实例进行属性引用,称为绑定方法(bound method),可以理解为方法与实例绑定在一起。2. 通过类进行属性引用,称为非绑定方法(unbound method),方法没有与实例绑定。在绑定方法中,为了与实例绑定,Python自动将实例作为方法的第一个参数,而非绑定方法则表现的像普通函数,和普通函数的区别在于它只能通过类来访问。...
在python中,用for对列表进行遍历的时候,迭代器中维护的是列表的索引而不是列表的元素。也就是说,for循环是对索引进行迭代,如果在for循环过程中修改了列表,迭代出来的值是新列表的索引位置,如果索引超过了新列表的范围,循环终止。例子:def for_test1():x = list(range(10))for index, value in enumerate(x):print("delete:", x)print("index:", index, "value:", value)del x[index]print("x:", x)if __name__ == "__main_...
假设aa是原始多维矩阵,bb是转换的一维向量,转换方式:bb=aa.reshape(-1)
将bb转换回aa的方法是:cc=bb.reshape(aa.shape)
验证:>>> aa
array([[[ 8, 15],[ 0, 8],[-10, 0],[ -5, 2],[ -2, -4]],[[ 7, 4],[-14, 7],[ 20, -7],[ -7, -11],[-18, 8]],[[ 26, -3],[ 12, 0],[ -8, -19],[ 18, -12],[ 3, -5]]], dtype=int32)
>>> aa.shape
(3, 5, 2)
>>> bb=aa.reshape(-1)
>>> bb
array([ 8, 15, 0, 8,...
先来看个例子:def foo(*args, **kwargs):print ‘args = ‘, argsprint ‘kwargs = ‘, kwargsprint ‘---------------------------------------‘if __name__ == ‘__main__‘:foo(1,2,3,4)foo(a=1,b=2,c=3)foo(1,2,3,4, a=1,b=2,c=3)foo(‘a‘, 1, None, a=1, b=‘2‘, c=3)输出结果如下:args = (1, 2, 3, 4) kwargs = {} --------------------------------------- args = () kwargs = {‘a‘: 1, ‘c‘: 3, ‘b‘...
源代码中的各种标识符和保留字只能是7位ASCII编码,但是代码中的字符串可以ongoing不同的编码格式解析。在代码文件的开头将入特殊编码注释,可以保证源代码中使用字符串的是特定的编码:#!/usr/bin/env python
# -*- coding: UTF-8 -*-aaa="你好" # 直接用的utf8编码
原文:https://www.cnblogs.com/immortalBlog/p/12101821.html
pycharm的解释器(interpreter):运行python脚本的环境,创建项目时设置。可以设置新环境(基于本地已有环境(可以选择继承环境中的包)或基于远程环境),也可以直接使用已有的环境。https://blog.csdn.net/fuhanghang/article/details/87913717?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242原文:https://www.cnblogs.com/alas/p/14095063.html
先来看个例子:def foo(*args, **kwargs):print ‘args = ‘, argsprint ‘kwargs = ‘, kwargsprint ‘---------------------------------------‘if __name__ == ‘__main__‘:foo(1,2,3,4)foo(a=1,b=2,c=3)foo(1,2,3,4, a=1,b=2,c=3)foo(‘a‘, 1, None, a=1, b=‘2‘, c=3)输出结果如下:args = (1, 2, 3, 4) kwargs = {} --------------------------------------- args = () kwargs = {‘a‘: 1, ‘c‘: 3, ‘b‘: 2} ---...
python内置函数
文档
__import__()用来导入模块,并可以直接返回模块对象,也就是说可以直接调用函数
open()可以打开文件,可以open().read()直接读文件,也可以next(open())读取文件的第一行
eval()、exec()是主要执行命令的函数
__builtins__包含内置类型、内置函数和内置常量,必要时可以新增数据,如__builtins__.xXXxXXx='__import__("os").system("bash")'可以注册常量
flask
文档
app/Flask
flask项目通常这样开始
from fla...
也可以使用numpyimport numpy as np# Save
dictionary = {hello:world}
np.save(file.npy, dictionary) # Load
read_dictionary = np.load(file.npy).item()
print(read_dictionary[hello]) 或是pickledef save_obj(obj, fileName): with open({}.pkl.format(fileName), wb) as f: pickle.dump(obj, f, pickle.HIGHEST_PROTOCOL)def load_obj(fileName): with open({}.pkl.format(fileName), rb) as f: return...
可通过zip两个可以iterable的对象并列输出。常用的做法是将两个list的元素对位组成元组输出:a=[1,2,3]
b=[4,5,6]
c=list(zip(a,b))#====
c的内容是
[(1,4), (2,5),(3,6)]同理和一逆转这个过程:d=list(zip(*c))
#======
d的内容是[(1, 2, 3), (4, 5, 6)]
为再函数内部实现对全局变量的修改,python中包含global、nonlocal关键字。关于global关键字的使用:1)global关键字修饰变量后标识该变量是全局变量;2)函数内部不改变变量值,函数外部变量申明时使用global关键字;函数内部可直接使用3)函数内部改变变量值,需要重申明变量为global,否者报错。关于nonlocal关键字使用:1)nonlocal关键字,nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数中不存...
实例通常能够调用类的属性,但是有些属性是类专有的,实例无法调用。
实例调用方法时查找属性时,首先在自己的__dict__中找,找不到去类中找,在类中能够找到的属性都位于dir(cls)中,如果类的某些属性不在dir(cls)中,那么实例无法访问。 1 >>> class A:2 pass3 4 >>> A.__name__ # the name of class, function, method, descriptor, generator5 A6 >>> A.__qualname__ # qualified name (path from global scope to here)7 ...
在Python中,生成器和函数很像,都是在运行的过程中才会去确定各种变量的值,所以在很多情况下,会导致各种各样的问题。def generator_test1():# 0...9 generatorx = (i for i in range(10))# 5..9 generatorx_filter = filter(lambda y: y >= 5, x)# first use the xL = list(x)print("L, x", L)# then use x_filterl = list(x_filter)print("l, x_filter", l)if __name__ == "__main__":generator_test1()输出结果为:L, x [0, 1...
原创:?金牌小编?行走在Python的江湖,那能不收藏一些锦囊妙计,今天分享给大家8个小技巧,希望在实战的时候有帮助!
01.
条件判断
condition=Trueif?condition:????x=1else:????x=2print?(x)
改成
x=1?if?condition?else?2print?(x)
02.
大数字分割
如果几个非常大的数字比如相加的时候,一个数字后面很多零点时候,我们很难去点这个0,比如:
num1=10000000000num2=100000000print?(num1+num2)
上面的几个大数字,很...
import numpy as np
from numpy.linalg import inv #矩阵求逆
from numpy import dot #求矩阵点乘
from numpy import mat #矩阵数据类型X = mat([1,2,3,5,4,3,4,2,3,4]).reshape(-1,1)
Y = mat([23,32,27,23,21,15,16,32,24,26]).reshape(-1,1)theta = dot(dot(inv(dot(X.T,X)),X.T),Y)print('theta=:',theta)theta=: [[6.56880734]]
Tips:
reshape()函数,输入(-1,1)代表着不知道一共多少行,但是确定...