bool是Boolean的缩写,只有真(True)和假(False)两种取值
公司主营业务:成都做网站、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出太子河免费做网站回馈大家。
bool函数只有一个参数,并根据这个参数的值返回真或者假。
1.当对数字使用bool函数时,0返回假(False),任何其他值都返回真。
bool(0)
False
bool(1)
True
bool(-1)
True
bool(21334)
True
2.当对字符串使用bool函数时,对于没有值的字符串(也就是None或者空字符串)返回False,否则返回True。
bool('')
False
bool(None)
False
bool('asd')
True
bool('hello')
True
3.bool函数对于空的列表,字典和元祖返回False,否则返回True。
a = []
bool(a)
False
a.append(1)
bool(a)
True
4.用bool函数来判断一个值是否已经被设置。
x = raw_input('Please enter a number :')
Please enter a number :
bool(x.strip())
False
x = raw_input('Please enter a number :')
Please enter a number :4
bool(x.strip())
True
接口(python 中的协议)的多种不同的实现方式即为多态。多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。
可以看到,在上面的代码中,只要实现了 Dock 类中的 swimming 和 Walk 方法,那么这个类就可以被叫做 Dock 类
应用场景 如: for 循环, 在python 中 for 循环只能用于可迭代对象, 那么, 我自己定义的类实现了 __iter__协议(接口),这个实例类就是一个可迭代对象,可以被for 循环使用
python 中定义协议类协议使用 @abstractmethod 装饰器,@abstractmethod 装饰过的类是不能进行初始化的,相对于c++中的纯虚函数类
这个类只能当做协议(接口)类
Python是支持虚数的,看下面的例子:
方法一:
# Python3.6
a = 1 + 1j
b = 1 - 1j
print(a*b)
print(a.real, a.imag)
# (2+0j)
# 1.0 1.0
后续的矩阵运算是否可行,要看你的矩阵运算函数是否支持虚数。如果不支持,还需要你自己构造计算虚数的矩阵运算。
方法二(最好使用numpy):
# Python3.6
import numpy as np
a = np.array([[1+1j, 1-1j], [1-1j, 1+1j]])
print(a*a)
# [[0.+2.j 0.-2.j]
[0.-2.j 0.+2.j]]
print(a.real)
# [[1. 1.]
[1. 1.]]
print(a.imag)
# [[ 1. -1.]
[-1. 1.]]
numpy是支持复数运算的,方便可靠。
在进行新纪元时间(1970-01-01 00:00:00)以来的秒到实际时间之间转换的时候 MySQL 根据参数 time_zone 的设置有两种选择:
time_zone 设置为 SYSTEM 的话:使用 sys_time_zone 获取的 OS 会话时区,同时使用 OS API 进行转换。对应转换函数 Time_zone_system::gmt_sec_to_TIME
time_zone 设置为实际的时区的话:比如 ‘+08:00’,那么使用使用 MySQL 自己的方法进行转换。对应转换函数 Time_zone_offset::gmt_sec_to_TIME
实际上 Time_zone_system 和 Time_zone_offset 均继承于 Time_zone 类,并且实现了 Time_zone 类的虚函数进行了重写,因此上层调用都是 Time_zone::gmt_sec_to_TIME。