def __call__(self): l_log('instances are callable now.')
# @Time : 2018/9/6 PM9:11 # @Author : L # @Email : [email protected] # @File : built_in_functions.py # @Software: PyCharm from Code.Tools.l_log import * # Built-in Functions # Python 内置方法 # Python 解释器有许多内置的函数和类型, 按字母排序介绍 # NOTE 1, abs(x) # 返回一个数的绝对值。实参可以是整数或浮点数。如果实参是一个复数,返回它的模. l_log(abs(-1)) l_log(abs(-1)) l_log(abs(-1.1)) # 复数例子 # 复数: (mmp 数学是体育老师教的, 还是我铭记了有借有还的道理?) # 我们把形如a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位(python 这里必须用 j 表示?)。 # # 这个应该是计算复数的模, 而不是简单的3+4i=5,这是不存在等的关系的!因为一个是虚数,一个是实数。 # 应该是|3+4i|=5 # 复数的模计算方法是:|a+bi|=√(a^2+b^2) # 所以,|3+4i|=√(3^2+4^2)=5 # 那么,|5+6i|=√61 # 实数范围内,负数没有平方根,所以-1的平方根是不存在的; # 复数范围内,-1的平方根是正负i。
# # 1, 负的移位数是非法的,会导致引发 ValueError。 # 2, 左移 n 位等价于不带溢出检测地乘以 pow(2, n)。 # 3, 右移 n 位等价于不带溢出检测地除以 pow(2, n)。 # 4, 使用带有至少一个额外符号扩展位的有限个二进制补码表示(有效位宽度为 1 + max(x.bit_length(), y.bit_length()) 或以上) # 执行这些计算就足以获得相当于有无数个符号位时的同样结果。 # NOTE 整数类型的附加方法 # int 类型实现了 numbers.Integral abstract base class。 此外,它还提供了其他几个方法: # 1, int.bit_length() # 返回以二进制表示一个整数所需要的位数,不包括符号位和前面的零: n = -37 l_log(bin(n)) l_log(n.bit_length()) # 更准确地说,如果 x 非零,则 x.bit_length() 是使得 2**(k-1) <= abs(x) < 2**k 的唯一正整数 k。 # 同样地,当 abs(x) 小到足以具有正确的舍入对数时,则 k = 1 + int(log(abs(x), 2))。 如果 x 为零,则 x.bit_length() 返回 0。 # 等价于: def bit_length(self): s = bin(self) # binary representation: bin(-37) --> '-0b100101' s = s.lstrip('-0b') # remove leading zeros and minus sign return len(s) # len('100101') --> 6 # 3.1 新版功能.
# NOTE False # 布尔类型的false值,帮False赋值是非法的并引发SyntaxError。 # False = 1 (SyntaxError: can't assign to keyword) # NOTE True # 布尔类型的true值,帮True赋值是非法的并引发SyntaxError。 # True = 1 (SyntaxError: can't assign to keyword) # NOTE None # NoneType类型的唯一值。 l_log(type(None)) l_log(None.__class__) l_log(dir(None)) # None通常用于表示缺少值,因为默认参数未传递给函数 # 帮None赋值是非法的并引发SyntaxError。 # None = 1 (SyntaxError: can't assign to keyword) # 方法里面如果没有返回, 默认返回None def a(): pass
# Tk的顶级小部件,主要代表应用程序的主窗口。(根窗口) # TK 这个类继承于 Wm和Misc, class Tk(Misc, Wm): tk = Tk(className="123") # NOTE Wm介绍(提供与窗口管理器通信的功能。) # NOTE 注:并非所有操作系统均完全支持下方所有方法的实现。 # NOTE 1, wm_aspect(self, minNumer=None, minDenom=None, maxNumer=None, maxDenom=None) # 控制该窗口的宽高比(width:height) # 宽高比限制在:minNumer / minDenom ~ maxNumer / maxDenom # 如果忽略参数,则返回一个 4 元组表示当前的限制(如果有的话) l_log(tk.aspect()) # tk.aspect(minNumer=1, minDenom=1, maxNumer=1, maxDenom=1) # l_log(tk.aspect()) # NOTE 2, wm_attributes(self, *args): # 设置和获取窗口属性 # 如果你只给出选项名,将返回当前窗口该选项的值 # https://wiki.tcl-lang.org/page/wm+attributes # NOTE 以下选项不支持关键字参数,你需要在选项前添加横杠(-)并用字符串的方式表示,用逗号(,)隔开选项和值。 # 例如你希望设置窗口的透明度为 50%,你应该使用 attribute("-alpha", 0.5) 而不是 attribute(alpha=0.5) # ('-alpha', 1.0, '-fullscreen', 0, '-modified', 0, '-notify', 0, '-titlepath', '', '-topmost', 0, '-transparent', 0) l_log(tk.attributes())