51qsx 发表于 2017-4-22 10:54:11

python学习收集

Python函数式编程指南(一):概述
 
Python 网络编程说明 三、使用低级的socket通信 http://www.iyunv.net/article/19751.htm
 
http://wenku.baidu.com/view/de8c0b3c580216fc700afd11.html 逐段中英对照。
  《深入Python3笔记》 csdn上下的
  内置的sys 模块是用 C 语言写的
  sys.path.insert(0, '/home/mark/diveintopython3/examples')
  通过添加一个目录名称到 sys.path 里,你可以在运行时添加一个新的目录到 Python 的搜索路径中,然后无论任何时候你想导入一个模块,
  Python 都会同样的去查找那个目录。只要 Python 在运行,都会一直有效。
  通过使用 sys.path.insert(0, new_path),你可以插入一个新的目录到 sys.path 列表的第一项,从而使其出现在 Python 搜索路径的开头。
  这几乎总是你想要的。万一出现名字冲突(例如,Python 自带了版本 2 的一个特定的库,但是你想使用版本 3),
  这个方法就能确保你的模块能够被发现和使用,替代 Python 自带的版本。
  import humansize #导入自定义模块
  print(humansize.approximate_size(4096, True)) #调用模块内的方法(方法也是对象)
  print(humansize.approximate_size.__doc__) #除了按照你期望的方式调用这个函数,你查看了这个函数的其中一个属性: __doc__。
  Python 里面的 import 就像 Perl 里面的 require。一旦你导入(import)了一个 Python 模块,你就可以通过 module.function 的方式访问它的函数;
  Python 里面的所有东西都是对象,所有东西都可以有属性和方法。所有函数都有一个内置的属性 __doc__,
  用来返回这个函数的源代码里面定义的文档字符串( docstring )。
  模块、函数都是对象能作为参数传递。你可以把整个模块作为一个参数传递给一个函数;
  Python 使用 try...except 块来处理异常,使用 raise 语句来抛出异常。
  模块是对象,并且所有模块都有一个内置的属性 __name__。一个模块的 __name__ 属性取决于你怎么来使用这个模块。
  如果你 import 这个模块,那么 __name__ 就是这个模块的文件名,不包含目录的路径或者文件的扩展名
  import humansize
  humansize.__name__ 结果:'humansize'
  但是你也可以当作一个独立的程序直接运行这个模块,那样的话 __name__ 将是一个特殊的默认值 __main__。
  p64 数据类型. Python 有多种内置数据类型。以下是比较重要的一些:
  4.Bytes[字节] 和 Byte Arrays[字节数组], 例如: 一份 JPEG 图像文件。
  5.Lists[列表] 是值的有序序列。
  6.Tuples[元组] 是有序而不可变的值序列。
  7. Sets[集合] 是装满无序值的包裹。
  当然,还有更多的类型。在 Python 中一切均为对象,因此存在像 module[模块]、 function[函数]、 class[类]、
  method[方法]、 file[文件] 甚至 compiled code[已编译代码] 这样的类型
  type(1 + 1.0)
  将整数强制转换为浮点数及反向转换: float(2)  int(2.5)
  5. 浮点数精确到小数点后 15 位。
  6. 整数可以任意大。
  11 ** 2 = 121 ** 运算符的意思是“计算幂”
  1./ 运算符执行浮点除法。
  11 // 2 = 5; -11 // 2==6// 运算符执行古怪的整数除法。如果结果为正数,可将其视为朝向小数位取整(不是四舍五入),但是要小心这一点。
  从数学角度来说,由于 -6 比 -5 要小,它是“向下”四舍五入,如果期望将结果取整为 -5,它将会误导你。
  分数: Python 并不仅仅局限于整数和浮点数类型。它可以完成你在高中阶段学过、但几乎已经全部忘光的所有古怪数学运算。
  import fractions
  x = fractions.Fraction(1, 3)  #表示 1/3
  x * 2=Fraction(2, 3)
  三角函数: math.pi  math.sin(math.pi / 2)==1.0   math.tan(math.pi / 4)
  math 模块包括了所有的基本三角函数,包括:sin()、 cos()、tan() 及像 asin() 这样的变体函数。
  然而要注意的是 Python 并不支持无限精度。tan(π / 4) 将返回 1.0,而不是 0.99999999999999989。
  列表: 一个更好的比喻可能是 ArrayList 类,该类可以容纳任何对象,并可在添加新元素时进行动态拓展。
  a_list = ['a', 'b', 'mpilgrim', 'z', 'example']
  a_list: ['b', 'mpilgrim'] 从第二项(索引从0开始)到第三项之前(后面那个是开区间,所以不包含第三项)。
  a_list: ['b', 'mpilgrim', 'z'] 到倒数第一项(包含)
  a_list: ['a', 'b', 'mpilgrim'] 等价 a_list[:3] 同理a_list: ['z', 'example']
  有四种方法可用于向列表中增加元素: ---------------
  a_list = a_list + #实际上该行代码包含两个步骤 — 连接然后赋值 — 当处理大型列表时,该操作可能(暂时)消耗大量内存。
  a_list.append(True) 同功能 a_list.extend(['four', 'Ω']) #列表是以类的形式实现的。“创建”列表实际上是将一个类实例化
  a_list.insert(0, 'Ω') #列表中的元素并不一定要是唯一的
  区别append和 extend: 后者把参数里的每个子元素都加到原列表里,前者只把参数当成一个整体的对象
  在列表中检索值: ---------------
  a_list = ['a', 'b', 'new', 'mpilgrim', 'new']
  a_list.count('new') : 2
  'new' in a_list ; 'c' in a_list
  a_list.index('mpilgrim')  a_list.index('c'):报错
  从列表中删除元素: ---------------  
  del a_list
  a_list.remove('new') remove() 方法接受一个 value 参数,并删除列表中该值的第一次出现。
  a_list.pop() a_list.pop(1)
  [] 等价 false ---------------  
  元组: 元素 是不可变的列表。一旦创建之后,用任何方法都不可以修改元素。
  a_tuple = ("a", "b", "mpilgrim", "z", "example")
  可以对元组进行切片操作(因为该方法创建一个新的元组),可以检查元组是否包含了特定的值(因为该操作不修改元组),还可以……就那么多了。
  () 等价 false ---------------  
 
 
页: [1]
查看完整版本: python学习收集