Python学习札记(九) Basic6 dict and set】的更多相关文章

参考:dict and set Note: A.dict Hint:注意最后三点. 1.Python内置字典dict,全称directory,在别的语言如C++中称为map,使用键值-value存储,查找速度极快. 2.给定一个键值key,dict在内部根据键值计算出存储的内存地址,从而迅速的得到value. 3.dict初始化时,必须是key-value的形式.eg. 'Chen' : 90; 4.dict支持根据key赋值,即dict['key'] = value. 5.可以通过dict.g…
Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接操控硬件 优点:程序员独享整个资源    缺点:浪费资源 第二代计算机:晶体管和批处理系统 优点:计算机资源利用 缺点:程序员共享资源,出现问题,找不出问题,影响开发效率 第三代计算机:集成电路芯片和多道程序设计 多道程序:cpu执行程序的过程中遇到I/O,不会原地等待,cpu会去执行其他命令,等到…
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. >>> person = {"name":"keven","age":15,"gender":"male"} >>> person['name'] 'keven' >>> type(person)…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.模块的使用和安装模块和C语言中的头文件以及Java中的jar包很类似,使用关键字import引入模块. 1.import module1,mudule2...当解释器遇到import语句,如果模块在当前的搜索路径就会被导入. 2.在调用math模块中的函数时,必须这样引用:模块名.函数名 import math #print(sqrt(2))#…
参考:迭代器 Note 1.可用于for循环的对象有两类:(1)集合数据类型:list tuple dict str set (2)Generator:生成器和含yield语句的函数.这些可以直接作用于for循环的对象统称为可迭代对象:Iterable. 2.可以用isinstance()函数判断一个对象是否为可迭代对象(Iterable): >>> from collections import Iterable >>> isinstance([], Iterable…
参考:使用枚举类 NOTE #!/usr/bin/env python3 from enum import Enum def main(): Mouth = Enum('Mouth', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) for name, attr in Mouth.__members__.items(): print(name, '=>', attr, '=…
参考:使用模块 NOTE 1.内建sys模块: #!/usr/bin/env python3 import sys 'a test module' __author__ = 'wasdns' def main(): args = sys.argv if len(args) == 1: print('Hello') elif len(args) == 2: print('Hello, %s' % args[1]) else : print('Your network has some proble…
今天主要学习关于python 的dict(全称dictionary)和set.dict的用法跟javascript 中map表类似,key + value结构语言.而set,准确来说,只是key的集合. Dict 直接贴代码 >>> d = {'zhangsan': 95, 'lixi': 75, 'wuliu': 85} >>> d['zhangsan'] 95 dict插入 >>>d['wangba'] = 90 //直接插入wangba该学员的成…
Python是很多公司都在使用的一种脚本语言,其语法与Perl.C++.JAVA等都大同小异.本文仅对一些比较常用的语法结构进行总结,比如字典.列表.正则匹配.读写文件等.供广大喜爱Python的同学学习交流. 字符串操作 去除特殊符号:s.strip() .lstrip() .rstrip(',') 拼接字符串:str = str1 + str2 连接字符串:lis = ['1','2','3']    str.join(lis) 查找字符串:str1 = 'hello world'    …
首先给大家推荐一个很好的python入门网站,感觉比<python基础>之类的书更容易懂,廖雪峰小站,希望有学习资源同学们也能多多交流.下面是今天所学: 下面总结一些非常有特色的函数及其应用: 1.map 函数用法:   def func(x):         ....... l=[l0,l1,l2,l3,...] % 一个list lout=map(func,l)  % 每个元素经过func函数变换后的值输出得到lout 2.reduce 函数用法:    reduce(func,l)=.…
eval()函数 eval()官方文档里面给出来的功能解释是:将字符串string对象转化为有效的表达式参与求值运算返回计算结果 语法上:调用的是:eval(expression,globals=None, locals=None)返回的是计算结果 功能:将字符串str当成有效的表达式来求值并返回计算结果. 语法: eval(source[, globals[, locals]]) -> value 参数: source:一个Python表达式或函数compile()返回的代码对象 global…
原文链接:http://www.limerence2017.com/2017/12/28/python19/#more 介绍几个python中常见的第三方库. Pillow Pillow简称PIL,是python中常用的图形图像处理模块.写一个简单的例子 1234567891011121314151617181920212223 from PIL import Image, ImageFilter# 打开一个jpg图像文件,注意是当前路径:im = Image.open('test.jpg')#…
参考:使用元类 NOTE: type() 1.type()函数可以用于检查一个类或者变量的类型. #!/usr/bin/env python3 class Myclass(object): """docstring for Myclass""" def __init__(self): super(Myclass, self).__init__() def func(self): pass def main(): h = Myclass() pri…
参考:匿名函数 NOTE 1.Python对匿名函数提供了有限的支持. eg. #!/usr/bin/env python3 def main(): lis = list(map(lambda x: x*x, [1, 2, 3, 4, 5])) print(lis) if __name__ == '__main__': main() sh-3.2# ./lambda1.py [1, 4, 9, 16, 25] 可以看出,lambda相当于函数: def func(x): return x*x 2…
装饰器 本质是函数,装饰其他函数,为其他函数添加附加功能 原则: 1不修改原函数的源代码 2不修改原函数的调用方式 知识储备: 1函数即变量 使用门牌号的例子说明函数,调用方式与变量一致 2高阶函数 bar() bar(内存地址门牌号,指针) 例子:在不修改源码的情况下附加功能,把一个函数当做实参传给另一个函数,返回值中包含函数名 3嵌套函数 在函数体中定义新函数,注意调用方式与作用域 利用高阶函数和嵌套函数实现装饰器的效果 几种情况,从简单到复杂: 被装饰函数无参数 被装饰函数多参数 被装饰函…
Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题:其他文件的读写及编码相关详见专题的博文. open()   close()     with open(...) as ... 看以下示例就能了解 Python 的 open() 及 close() 函数.这边调用 read()方法可以一次读取文件的全部内容,Python把…
参考:列表生成式 Note 1.List Comprehensions,即列表生成式,是Python中内置的非常强大的list生成式. eg.生成一个列表:[1*1, 2*2, ..., 10*10] 使用for...in的方法: #!/usr/bin/env python3 L1 = [] for i in range(1, 11) : L1.append(i*i) print(L1) 使用列表生成式: L2 = [i*i for i in range(1, 11)] print(L2) ou…
参考:迭代 Note 1.如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration). 在C.C++.Java等语言中,for循环迭代是通过下标实现的,如: for (int i = 0; i < s.length(); i++) { printf("%c ", s[i]); } 而在Python中,迭代是通过for...in...实现的,只要对象是可迭代对象,无论支持下标与否,都可以进行迭代. eg. #!…
参考:函数参数 Note A.关键字参数: 1.关键字参数:**kw 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple.而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict. 2.支持只传入必选参数:也可以传入任意数目的可选参数,如下例. eg. #!/usr/bin/env python3 def my_func(name, age, **kw) : print('name:', name, 'age:', age…
queue (队列) 队列是为线程安全使用的. 1.先入先出 import queue #测试定义类传入队列 class Foo(object): def __init__(self,n): self.n = n ) ) ),timeout=) # 超时时间后,抛出队列full异常 , , ],timeout=) print(new.full()) #判断队列是否满 True #) #队列已满,再放报错 print(new.qsize()) # 查看当前队列长度 print(new.get())…
dict是字典dictionary的缩写,他存放的是键值对key/value,用花括号表示,格式为d={'micheal':99,'jack':88} 当我们访问的时候直接print(d['micheal'])#输出相应的99: 可以给dict复制并且会覆盖掉原来的value,但是如果key没有对应的value就会报错, 通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:print(d.get('tomash'))#会输出none 在dict中如果有重复…
1 模块 使用import 语句从外部导入模块信息,python提供了很大内置模块.当你导入模块时,你会发现其所在目录中,除源代码文件外,还新建了一个名为__pycache__的子目录(在较旧的Python版本中,是扩展名为.pyc 的文件).这个目录包含处理后的文件,Python能够更高效地处理它们.以后再导入这个模块时,如果.py文件未发生变化,Python将导入处理后的文件,否则将重新生成处理后的文件.删除目录__pycache__不会有任何害处,因为必要时会自动创建它. 2 包 为组织模…
4.4 序列 序列是具有索引和切片能力的集合.元组.列表和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力,因此元组.列表和字符串都属于序列.序列索引功能演示: tuple=("apple","banana","grape","orange") list=["apple","banana","grape","orange"] str…
参考:操作文件和目录 NOTE: 1.Python内置的os模块可以直接调用操作系统提供的接口函数: 2.os.name 打印操作系统的名称:如果是posix,说明系统是Linux.Unix或Mac OS X,如果是nt,就是Windows系统. 3.要获取详细的系统信息,可以调用uname()函数. 4.在操作系统中定义的环境变量,全部保存在os.environ变量中. 5.要获取某个环境变量的值,可以调用os.environ.get('key'),从而获取名为'key'的环境变量的值. #!…
参考:StringIO和BytesIO NOTE 1.StringIO: 顾名思义就是在内存中读写str. #!/usr/bin/env python from io import BytesIO as StringIO def main(): f = StringIO() f.write('Hi') f.write(' ') f.write('all') print(f.getvalue()) f1 = StringIO('Hi I am wasdns') s = f1.readline()…
参考:多重继承 NOTE #!/usr/bin/env python3 class Animal(object): def __init__(self, name): self.name = name def getname(self): print(self.name) class Fly(object): def __init__(self): pass def getfly(self): print('could fly') class Bird(Animal, Fly): pass de…
参考:@property NOTE 1.在绑定参数时,为了避免对属性不符合逻辑的操作,需要对传入的参数进行审核. #!/usr/bin/env python3 class MyClass(object): """docstring for MyClass""" def __init__(self): super(MyClass, self).__init__() def set_Attr(self, score): if score >=…
参考:slots NOTE 1.动态语言灵活绑定属性及方法. #!/usr/bin/env python3 class MyClass(object): def __init__(self): pass def func(obj): print(obj.name, obj.age) def main(): h = MyClass() h.name = 'Chen' h.age = '20' func(h) if __name__ == '__main__': main() 给对象h绑定了属性na…
参考:实例属性和类属性 NOTE Python是动态语言,根据类创建的实例可以任意绑定属性. class Student(object): def __init__(self, name): self.name = name a = Student('Chen') a.score = 90 同时,也可以直接给类绑定一个属性: class Student(object): name = 'Student' 当我们定义了一个类属性后,这个属性虽然归类所有,但类的所有实例都可以访问到. >>>…
参考:获取对象信息 NOTE 1.type()函数可以用来判断对象的类型: >>> type(123) <class 'int'> >>> type('ABC') <class 'str'> >>> type(None) <class 'NoneType'> >>> type(abs) <class 'builtin_function_or_method'> 如果一个变量指向函数或者类,…