'''
hasattr() 函数用于判断对象是否包含对应的属性。
hasattr(object, name)
object -- 对象。
name -- 字符串,属性名。
如果对象有该属性返回 True,否则返回 False。
'''
class Coordinate:
x = 1
y = -1
z = 0
point1 = Coordinate()
print(hasattr(point1, 'x')) # True
print(hasattr(point1, 'y')) # True
print(hasattr(point1, 'z')) # True
print(hasattr(point1, 'no')) # 没有该属性 False
print('-'*10,"分割线","-"*10)
'''
hash() 用于获取取一个对象(字符串或者数值等)的哈希值。
hash(object)
object -- 对象;
返回对象的哈希值。
'''
# 哈希值对于字符串来说是可变的
print(hash('lidihuo')) # 字符串4441295274470296330
print(hash(1)) # 数字1
print(hash(str([1,2,3]))) # 集合 133820013485900260
print(hash(str(['a','b',1]))) # 集合 5624126033155289154
print(hash(str(sorted({'1':1})))) # 字典
print('-'*10,"分割线","-"*10)
'''
help() 函数用于查看函数或模块用途的详细说明。
help([object])
object -- 对象;
返回对象帮助信息。
'''
# help('sys') # 查看 sys 模块的帮助
# a = [1,2,3]
# help(a) # 查看列表 list 帮助信息
# help(a.append) # 显示list的append方法的帮助
print('-'*10,"分割线","-"*10)
'''
hex() 函数用于将一个指定数字转换为 16 进制数
hex(x)
x -- 一个整数
返回一个字符串,以 0x 开头。
'''
print(hex(255)) # 0xff
print( hex(12)) # 0xc
print(type(hex(12))) # <class 'str'>
print('-'*10,"分割线","-"*10)
'''
hypot() 返回欧几里德范数 sqrt(x*x + y*y)。
import math
math.hypot(x, y)
hypot()是不能直接访问的,需要导入 math 模块,然后通过 math 静态对象调用该方法。
x -- 一个数值。
y -- 一个数值。
返回欧几里德范数 sqrt(x*x + y*y)。
'''
import math
print("hypot(1, 2) : ", math.hypot(1, 2)) # 2.23606797749979
print("hypot(-11, 9) : ", math.hypot(-11, 9))
print("hypot(0, 2) : ", math.hypot(0, 2)) # 2.0