Learn
未读公共属性使用id()可以查看,公共属性的地址是一样的。
Dog.d_type = '藏獒' 一旦更改,其他的实例对应属性也会随之更改。
12345class Dog: d_type = '京巴' # 公共属性, 类属性, 类变量 def say_hi(self): print('hello, i am a dog, my type is ', self.d_type)
好处是可以节省内存空间。
重写父类的方法继承父类方法后,需要重写父类方法,并调用父类方法的话。
可以用到super函数
1234567891011121314151617181920212223class Animal: def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex def eat(self): print('%s is eating..' % self.n ...
Code
未读读取和写入json文件1234567# 写with open(json_path, 'w') as f: json.dump(self.items, f)# 读with open(json_path) as f: items = json.load(f)
读取和写入csv文件1234567891011# 读with open(csv_file) as f: csv_reader = csv.reader(f, delimiter=',') for row in csv_reader: print row# 写with open(csv_file, 'wb') as f: csv_write = csv.writer(f) for row in csv_data_list: csv_write.writerow(row)
OrderedDict 排序1234567891011121314>>> from collections import O ...
Code
未读
方法
描述
cmp(list1, list2)
比较两个列表的元素
len(list)
列表元素个数
max(list)
返回列表元素最大值
min(list)
返回列表元素最小值
list(seq)
将元组转换为列表
list.append(obj)
在列表末尾添加新的对象
list.count(obj)
统计某个元素在列表中出现的次数
list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)
将对象插入列表
list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)
移除列表中某个值的第一个匹配项
list.reverse()
反向列表中元素
list.sort(cmp=None, key=None, reverse=False)
对原列表 ...
Learn
未读互联网协议按照功能的不同分为七层。
OSI七层协议:应,表,会,传,网,数,物。
其中应表会可以归为应用层。
应用层:应用程序。http,ftp协议
传输层:tcp/udp协议。端口来标识运行中的一款应用程序。 以太网头|IP头|tcp头|数据
网络层:IP协议,用于寻找子网。
数据链路层:Ethernet(以太网)协议,将数据按标准分组。
物理层:物理设备,发射电信号,如:101001
tcp也称作流式协议,需要双向管道(来回)。
通过握手确认建立临时管道。
udp协议不需要通道,不会等待对方确认是否收到。
效率比tcp协议高,但是不可靠。(只负责丢)
socket层在应用层和传输层(tcp/udp)之间的中间软件抽象层,它是一组接口。
socket为套接字编程。
一个简单的服务端和客户端服务端
123456789101112131415161718192021222324iimport socket# 创建一个套间字对象。 (socket.AF_INET 套间字类型 socket.SOCK_STREAM 是tcp传输协议)phone = socket. ...
Code
未读
方法
描述
cmp(dict1, dict2)
比较两个字典元素。
len(dict)
计算字典元素个数,即键的总数。
str(dict)
输出字典可打印的字符串表示。
type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
dict.clear()
删除字典内所有元素
dict.copy()
返回一个字典的浅复制
dict.fromkeys(seq[, val])
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
dict.has_key(key)
如果键在字典dict里返回true,否则返回false
dict.items()
以列表返回可遍历的(键, 值) 元组数组
dict.keys()
以列表返回一个字典所有的键
dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加 ...
Learn
未读开启子进程的两种方式方式一:
123456789101112import timefrom multiprocessing import Processdef task(name): print('{0} is running'.format(name)) time.sleep(3) print('{0} is done'.format(name))if __name__ == '__main__': p = Process(target=task, args=('process001', )) # 向操作系统发送一个信号 p.start() print('here first')
方式二:
123456789101112131415161718import timefrom multiprocessing import Processclass MyProcess(Process): def __in ...
Learn
未读概览
re.compile 生成一个匹配器实例,用来匹配
re.match 从字符最前端开始匹配
re.search 从字符中搜索出第一个匹配结果
re.findall 从字符中找出所有匹配结果
re.sub 查询替换字符,返回替换结果
re.subn 查询替换字符,返回替换结果和替换次数
re.split 根据规则切分字符串
re.match案例re.match返回的是一个实例对象,调用它的方法找到结果。
假设我们需要匹配开头为”Ch_”的字符
123456789import re# 匹配成功返回一个实例对象print re.match('Ch_', 'Ch_dog_v001')>>> <_sre.SRE_Match object at 0x0000000003ACA510># 如果匹配失败,是没有返回值的print re.match('Ch_', 'aCh_dog_v001')>>> None
group方法:用于获得一个或多个分组匹配的字符串
123 ...
Code
未读
方法
描述
string.capitalize()
把字符串的第一个字符大写
string.center(width)
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
string.count(str, beg=0, end=len(string))
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
string.decode(encoding=’UTF-8’, errors=’strict’)
以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 ‘ignore’ 或 者’replace’
string.encode(encoding=’UTF-8’, errors=’strict’)
以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是 ...
QLineEdit
生成控件widget = QLineEdit()
设置输入框文字widget.setText('some text')
设置提示文字widget.setPlaceholderText('some text')
设置输入框为只读widget.setReadOnly(True)
设置输入框内容长度限制widget.setMaxLength(10)
设置输入框为内容为非明文widget.setEchoMode(QLineEdit.password)
设置输入框下拉提示选项列表123my_list = ['aa1', 'aa2', 'aa3']completer = QCompleter(my_list)widget.setCompleter(completer)
QPushButton
生成控件bt = QPushButton('push')
给按钮设置图标bt.setIcon(QIcon('icon.png'))
给按钮关联命令bt.clicke ...
Code
未读用api key获取sg对象123sg = shotgun_api3.Shotgun("https://piedpiper.shotgunstudio.com", script_name="compress", api_key="01234567ef0123456789abcdef")
获取所有项目123456789101112def getAllProjects(): fields = ['id','name','type'] projects= sg.find("Project",[],fields) if len(projects) < 1: print "couldn't find any projects" else: print " ...