Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9464863
  • 博文数量: 1750
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 20091
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1750)

文章存档

2024年(26)

2023年(26)

2022年(112)

2021年(217)

2020年(157)

2019年(192)

2018年(81)

2017年(78)

2016年(70)

2015年(52)

2014年(40)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类: Windows平台

2018-01-03 18:18:52

python 的帮助系统.
以 Decimal 举例
import decimal
dir(decimal.Decimal)  # 通过 dir 查看Decimal的所有功能.
help(decimal.Decimal.from_float)  # 通过 help 查看如何使用

还比较有用的内置函数
ord() 查某个字符对应的unicode字元
chr() 把对应整数(unicode字元)转化为对应的 unicode 字符.



关键字:

点击(此处)折叠或打开

  1. and    continue  except   global   lambda   pass     while
  2. as     def       False    if       None     raise    with
  3. assert del       finally  import   nonlocal return   yield
  4. break  elif      for      in       not      True
  5. class  else      from     is       or       try
下划线 _ 一般用户国际化的翻译函数, 如 gettext模块中, gettext("翻译") 可以直接用 _("翻译")代替.

python 内置 dir 函数, 返回对象属性列表, 包括对象可用的方法以及属性设置等内容.

点击(此处)折叠或打开

  1. >>> dir()
  2. ['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
  3. >>> x = "hello"
  4. >>> dir(x)
  5. ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
  6. >>> x.upper()
  7. 'HELLO'
  8. >>>

__buildins__ 属性为一个存放所有python内置属性的模块. 包括了异常名,函数名和数据类型名等

点击(此处)折叠或打开

  1. >>> dir(__builtins__)
  2. ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
--------------------------------------------------------------------------------------------------------------------
整数:
i= 0b1010101      # binary  0B 也可以
o= 0o65342        # octal     0O 等效
h= 0xfc03           # hex       0X 亦可

运算 + - * %(取余)  **(幂, 等效于 pow(x,y))  abs(x)
除法 / 返回浮点数.
除法 // 返回整除值. 
divmod(x,y) 二元组返回 商与余数 (两个整数)
pow(x,y,z) 等效于 (x ** y) % z
round(x,n) 对浮点 x 取n位小数精度.

转换函数
bin(integer)  转成二进制字符串表示
hex(i) 转成16制字符串表示
oct(i)  转成8制字符串表示
int(str)  字符串转成整数
int(str, base) 字符串转成整数, base 为 2-36的基数


位逻辑操作
|或, ^异或, &与,  <<左移,  >>右移, ~非 等操作
--------------------------------------------------------------------------------------------------------------------
浮点数. (sys.float_info.epsilon 代表当前机器上能区分两个浮点数的最小区别)

float(双精度), 如 5.4 或者 8.9e-4(指数表达方式,等效于0.00089), 有 is_integer(), as_integer_ratio()  hex(), fromhex(str)等属性

complex 复数. 存放一对浮点数, 一个为实数部分, 一个为虚部. 表示方式为 z = 3.5+2j  +代表虚部的符号, 虚部符号可以使用.conjugate()方法改变.  python访问时使用 z.real  z.imag

decimal.Decimal. (高精度,精度可指定) 通过decimal.Decimal(整数或者浮点数的字符串). 


--------------------------------------------------------------------------------------------------------------------
字符串
1. 可以使用 '''''' 三引号定义字符串.  python 使用换行符作为语句终结符, 但是如果换行符出现在() [] {} 三引号内的例外, 在三引号内的字符串,可直接使用换行 ", ' 而无需格式化处理. 这在定义正则表达式时极为方便.

2. r"xxx"  由 r 引导的字符串代表字符串无需转义, 直接按照字面意思立即.

3. 超长字符串可以用  + \  或者 定义在 () 里边.    

点击(此处)折叠或打开

  1. t="1st line" + \
  2.   "2nd line"

  3. s = ("1st line"    #对多行文本 - 建议使用的方式. 
  4.      "2nd line"
  5.     )
4. 化解unicode字符有多种表达方式的方案. import unicodedata 同时调用nfkd_str= unicodedata.normalize('NFKD', unicode_str)初始化.

5. 分片/步距原则
     索引 正向 0 开始, 负项为 -1 开始.
     分片 str[start:end:step]  start包括, end 不包括, step正负值代表步进方向.

6. 字符串可以通过 + 来连接, 对于大量字符串,建议使用 s.join(字符串序列(列表或元组)), 则列表元素之间通过s进行分隔符进行连接, 如 t = ['1',"2","3"]  则 "+".join(t) --> "1+2+3"

7. * 操作符对于字符串来讲为复制功能.  s="0" * 5 表示 "0"复制5次, 则 s="00000"

8. 字符串格式化 类似于 
    1. 位置参数 "{0}{1}".format(arg0,arg1) 产生一个新的串, 轻松实现字符串和其他类型的连接. 0/1/2等位置参数可以忽略, python自动按照顺序添加映射的内容.
    2. 字段名  "{who} is {age} years.".format(who="ray", age=40)  位置参数和字段名混用时切记位置参数在前.  
        #locals() 会返回目前局部变量的字典.键为对象引用名, 值为对象引用.  **作为映射拆分操作符可以产生一个键值对列表.  即使用 **locals() 即可产生类似于[who="ray", age=40]的内容, 但拆分**操作一定要做format的最后一个参数才可以.

    3. 格式化参数可以使用集合类型或者字典类型.
        days = ["1st", "2nd", "3rd"]
        s = "mondy is the {0[0]} day".format(days)
        或者使用字典
        days=dict(monday="1st", friday="5th") 
        s = "mondy is the {0[mondy]} day".format(days)
    4. 格式化参数也可以用模块中的属性或者方法
        "pi=={0.pi}".format(math)  等同于  "pi=={0}".format(math.pi)

    5. 格式规则        

点击(此处)折叠或打开

  1. :fill align sign # 0 widht , .precision type

  2. :格式规则通过 : 来引入.
  3. fill 为填充字符, 默认为空格. 不能是 '}', 
  4. align 对齐规则. < 左对齐. >右对齐. ^中间对齐. = 代表在符号和数字之间填充.
  5. sign + 强制输出符号 -需要的加入符号 " "等同-
  6. # 0b 0o 0x 的前导符号
  7. 0 代表 0b 0x的意思.  如 "{0:#b}".format(5) => 0b101
  8. width 最小宽度
  9. , 分组的分隔符, 例如整数按照3位中间插入一个,逗号.
  10. .precison 字符串/整数的最大宽度, 浮点数的精度
  11. type 整数 b,c,d,n,o,x,X 浮点:e,E,f,g,G,n,%   如 "{0:b}".format(5) => 101   n为本地格式化字符, 例如中/英文表示的整数不同, 英文习惯于按照千位用逗号分隔

本地化运行环境设置也是很重要的, 一般在多线程中程序开始时在开始出统一设置

点击(此处)折叠或打开

  1. import locale

  2. locale.setlocal(locale.LC_ALL,"") # "C", "en_US.UTF-8"
字符编解码:    

点击(此处)折叠或打开

  1. a = "abcd"
  2. b = a.encode("utf8") #编码名称大小不敏感, 且不缺分连字符和下划线. 返回一个字节序列,即bytes对象.

  3. str = b.decode("utf8") # str = bytes.decode(b, "utf8")











































阅读(1359) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~