Python基础必备之最新的73个内置函数(4)

目录

hash()

help()

hex()

id()

input()

int()

isinstance()

issubclass()

iter()

len()


Python 解释器内置了很多函数和类型(一共73个内置函数),任何时候都能使用。本篇将介绍第31到第40个内置函数的作用、特性以及详细的使用方法,并给出对应的代码示例。

前面的文章已经介绍了前30个内置函数,以及介绍了一些基本概念的说明,详细的请参考前面几篇文章

Python基础之最新的73个内置函数(1)

Python基础之最新的73个内置函数(2)

Python基础之最新的73个内置函数(3)

Python基础之最新的73个内置函数(4)

Python基础之最新的73个内置函数(5)

Python基础之最新的73个内置函数(6)

Python基础之最新的73个内置函数(7)

注意:本代码示例均在当前最新版本Python3.11上运行的结果。

Python专栏:https://blog.csdn.net/zhouruifu2015/category_5742543.html

hash()

1. 作用

hash()函数用于返回对象的哈希值,哈希值是一个整数,用于在字典、集合等数据结构中快速查找和比较对象。它可以帮助我们在编写代码时高效地处理大量数据。

2. 特性

- hash()函数的参数可以是数字、字符串、元组等不可变类型的对象。

- 对于相同的对象,hash()函数返回的哈希值应该相同;对于不同的对象,哈希值应该尽可能地不同。

- 对于不可哈希的对象,如列表、字典等可变类型的对象,hash()函数会抛出TypeError异常。

- hash()函数返回的哈希值是一个整数,可以用于字典、集合等数据结构中的键值比较。

3. 详细用法

示例代码:

from inner_module_def_datastruct import WEIXIN_URL

# hash()函数的使用示例

print(hash("hello"))  # 8717829118467943447

print(hash((1, 2, 3)))  # 529344067295497451

print(hash(123))  # 123

print(hash(3.14))  # 476876632144354977

print(hash(True))  # 1

print(hash(False))  # 0

# 不可哈希的对象示例

# print(hash([1, 2, 3]))  # TypeError: unhashable type: 'list'

# print(hash({"name": "SteveRocket", "age": 18}))  # TypeError: unhashable type: 'dict'

# 哈希值相同的对象示例

print(hash("hello"))  # 8717829118467943447

print(hash("Hello"))  # 3152661429459725354

# 哈希值不同的对象示例

print(hash("hello"))  # 8717829118467943447

print(hash("world"))  # -7160543189288757831

# 对URL进行hash

print('URL', hash(WEIXIN_URL))  # URL 7620566311523340584

print('空字符串:', hash(''))   # 空字符串: 0

print('None', hash(None))   # None 8795438377352

在上面的示例代码中,我们使用hash()函数计算了不同类型的对象的哈希值,并演示了哈希值相同和不同的对象。同时,我们还演示了不可哈希的对象会导致TypeError异常。

help()

1. 作用

help()函数用于获取Python对象的帮助文档,帮助我们了解对象的属性、方法、使用方法等信息,进一步学习和使用Python语言。

2. 特性

- help()函数的参数可以是模块、函数、类、方法、对象等Python对象。

- help()函数会打印出对象的帮助文档,包括对象的说明、属性、方法等信息。

- 如果没有提供参数,则会进入交互式帮助模式,可以通过输入对象名称来获取帮助信息。

- help()函数可以帮助我们快速了解Python对象的使用方法和属性,提高编程效率。

3. 详细用法

示例代码:

# help()函数的使用示例
# 获取模块帮助信息
import math
help(math)

# 获取函数帮助信息
def add(a, b):
    """
    This function adds two numbers.
    """
    return a + b

help(add)

# 获取类帮助信息
class Person:
    """
    This is a Person class.
    """
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        """
        This method prints a greeting message.
        """
        print("Hello, my name is", self.name)

help(Person)

# 获取对象帮助信息
person = Person("Alice", 18)
help(person)

# 进入交互式帮助模式
# help()
# 输入对象名称,如math、add、Person、person等,即可获取帮助信息

在上面的示例代码中,我们使用help()函数获取了模块、函数、类、对象的帮助信息,并演示了进入交互式帮助模式的方法。

hex()

1. 作用

hex()函数用于将整数转换为十六进制字符串,返回一个以"0x"开头的字符串。它可以帮助我们在编写代码时处理十六进制数据。

2. 特性

- hex()函数的参数必须是整数类型,可以是正整数、负整数、0等。

- hex()函数返回一个以"0x"开头的字符串,表示参数的十六进制表示。

- 如果参数不是整数类型,则会抛出TypeError异常。

3. 详细用法

示例代码:

# hex()函数的使用示例

print(hex(10))  # 0xa

print(hex(-10))  # -0xa

print(hex(0))  # 0x0

# 参数错误示例

# print(hex(3.14))  # TypeError: 'float' object cannot be interpreted as an integer

# print(hex("hello"))  # TypeError: 'str' object cannot be interpreted as an integer

在上面的示例代码中,我们使用hex()函数将整数转换为十六进制字符串,并演示了正整数、负整数、0的转换结果。同时,我们还演示了参数错误时会抛出TypeError异常。

id()

1. 作用

id()函数用于获取对象的唯一标识符,即对象在内存中的地址。它可以帮助我们判断两个变量是否指向同一个对象。

2. 特性

- id()函数的参数可以是任意类型的Python对象。

- id()函数返回一个整数,表示对象在内存中的地址。

- 不同的对象具有不同的地址,相同的对象具有相同的地址。

3. 详细用法

示例代码:

# id()函数的使用示例

# 获取整数、字符串、列表、字典的地址

a = 10

print(id(a))  # 140727023900624

b = "hello"

print(id(b))  # 140727023997936

c = [1, 2, 3]

print(id(c))  # 140727023999872

d = {"name": "Alice", "age": 18}

print(id(d))  # 140727024000000

# 不可变类型示例

e = "world"

f = "world"

print(id(e))  # 140727023999856

print(id(f))  # 140727023999856

print(id(e) == id(f))  # True

# 可变类型示例

g = [1, 2, 3]

h = [1, 2, 3]

print(id(g))  # 140727023998080

print(id(h))  # 140727023998208

在上面的示例代码中,我们使用id()函数获取了整数、字符串、列表、字典的地址,并演示了不可变类型和可变类型的地址不同情况。

input()

1. 作用

input()函数用于从标准输入(通常是键盘)获取用户输入的数据,并返回一个字符串。它可以帮助我们与用户进行交互,获取用户输入的数据。

2. 特性

- input()函数会等待用户输入数据,并将其作为字符串返回。

- 用户输入的数据可以包含任意字符,包括空格、制表符等。

- 如果需要获取其他类型的数据,需要使用类型转换函数进行转换。

3. 详细用法

示例代码:

# input()函数的使用示例

# 获取用户输入的字符串

name = input("Please enter your name: ")

print("Hello,", name)

# 获取用户输入的数字

age = int(input("Please enter your age: "))

print("Your age is", age)

# 获取用户输入的多个数据

a, b, c = input("Please enter three numbers: ").split()

print("The sum of the three numbers is", int(a) + int(b) + int(c))

在上面的示例代码中,我们使用input()函数获取了用户输入的字符串、数字、多个数据,并演示了如何使用类型转换函数进行转换。需要注意的是,如果用户输入的数据与期望的类型不匹配,会抛出ValueError异常。

int()

1. 作用

int()函数用于将一个字符串或数字转换为整数类型。它可以将一个字符串转换为整数,也可以将一个浮点数或布尔值转换为整数。

2. 特性

- int()函数可以接受一个字符串或数字作为参数,返回一个整数。

- 如果参数是一个字符串,它必须是表示整数的字符串,否则会抛出ValueError异常。

- 如果参数是一个浮点数,它会将浮点数的小数部分截断,只保留整数部分。

- 如果参数是一个布尔值,True会被转换为1,False会被转换为0。

- int()函数还可以接受一个进制参数,用于将一个指定进制的字符串转换为整数。

3. 详细用法

示例代码:

# int(x) 将x转换为一个整数。

# int()函数的使用示例

a = '123'

b = 3.14

c = True

d = '0x1F'  # 十六进制字符串

print(int(a))  # 输出:123

print(int(b))  # 输出:3

print(int(c))  # 输出:1

print(int(d, 16))  # 输出:31

# 不可以对None和空字符串使用int转换

# print(int(None))  # TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

print(int(''))  # ValueError: invalid literal for int() with base 10: ''

在上面的示例代码中,我们分别使用int()函数将一个字符串、浮点数、布尔值和十六进制字符串转换为整数。需要注意的是,如果参数无法转换为整数,int()函数会抛出ValueError异常。

isinstance()

1. 作用

isinstance()函数用于判断一个对象是否属于某个指定的类型。它可以用于判断一个对象是否属于内置类型、自定义类型、抽象基类等。

2. 特性

- isinstance()函数接受两个参数,第一个参数是要判断的对象,第二个参数是要判断的类型。

- 如果第一个参数是第二个参数的实例,isinstance()函数返回True,否则返回False。

- isinstance()函数还可以接受一个元组作为第二个参数,用于判断对象是否属于元组中的任意一个类型。

- isinstance()函数可以用于判断一个对象是否属于内置类型、自定义类型、抽象基类等。

3. 详细用法

示例代码:

# isinstance()函数的使用示例

class MyClass:

    pass

a = 123

b = 'hello'

c = [1, 2, 3]

d = {'name': 'Tom', 'age': 18}

e = MyClass()

print(isinstance(a, int))  # 输出:True

print(isinstance(b, str))  # 输出:True

print(isinstance(c, (list, tuple)))  # 输出:True

print(isinstance(d, dict))  # 输出:True

print(isinstance(e, MyClass))  # 输出:True

print(isinstance(e, object))  # 输出:True

在上面的示例代码中,我们分别使用isinstance()函数判断一个整数、字符串、列表、字典和自定义类的对象是否属于指定的类型。需要注意的是,如果第二个参数是一个元组,isinstance()函数会判断对象是否属于元组中的任意一个类型。

issubclass()

1. 作用

issubclass()函数用于判断一个类是否是另一个类的子类。它可以用于判断一个类是否继承自另一个类、抽象基类等。

2. 特性

- issubclass()函数接受两个参数,第一个参数是要判断的类,第二个参数是要判断的父类或元组。

- 如果第一个参数是第二个参数的子类,issubclass()函数返回True,否则返回False。

- issubclass()函数还可以接受一个元组作为第二个参数,用于判断类是否继承自元组中的任意一个父类。

3. 详细用法

示例代码:

# issubclass()函数的使用示例

class MyBaseClass:

    pass

class MySubClass(MyBaseClass):

    pass

class MyOtherClass:

    pass

print(issubclass(MySubClass, MyBaseClass))  # 输出:True

print(issubclass(MyOtherClass, MyBaseClass))  # 输出:False

print(issubclass(MySubClass, (MyBaseClass, MyOtherClass)))  # 输出:True

在上面的示例代码中,我们分别使用issubclass()函数判断一个类是否继承自另一个类或元组中的任意一个父类。需要注意的是,如果第二个参数是一个元组,issubclass()函数会判断类是否继承自元组中的任意一个父类。

iter()

1. 作用

iter()函数用于返回一个可迭代对象的迭代器。它可以用于遍历列表、元组、字典、集合等可迭代对象。

2. 特性

- iter()函数接受一个可迭代对象作为参数,返回一个迭代器。

- 迭代器是一个可以遍历可迭代对象的对象,它可以使用next()函数获取下一个元素。

- 如果可迭代对象已经是一个迭代器,iter()函数会直接返回该迭代器。

- iter()函数还可以接受两个参数,分别是可迭代对象和一个用于哨兵值的对象,用于在迭代时判断何时停止迭代。

3. 详细用法

示例代码:

# iter()函数的使用示例

my_list = [1, 2, 3, 4, 5]

my_dict = {'name': 'SteveRocket', 'age': 18}

# 使用iter()函数获取列表的迭代器

my_list_iterator = iter(my_list)

print(type(my_list_iterator))  # <class 'list_iterator'>

# 使用next()函数遍历列表

print(next(my_list_iterator))  # 输出:1

print(next(my_list_iterator))  # 输出:2

# 使用iter()函数获取字典的迭代器

my_dict_iterator = iter(my_dict)

print(type(my_dict_iterator))  # <class 'dict_keyiterator'>

# 使用next()函数遍历字典

print(next(my_dict_iterator))  # 输出:'name'

print(next(my_dict_iterator))  # 输出:'age'

# 如果没有值可以继续next,则抛出 StopIteration 异常

# print(next(my_dict_iterator))  # StopIteration

# 如果没有值可以继续next,通过指定第二个参数来作为指定默认输出,则不会报错

print(next(my_dict_iterator, "Not Exists"))  # 输出 Not Exists

在上面的示例代码中,我们分别使用iter()函数获取列表和字典的迭代器,并使用next()函数遍历它们。需要注意的是,如果可迭代对象已经是一个迭代器,iter()函数会直接返回该迭代器。

len()

1. 作用

len()函数用于返回一个对象的长度或元素个数。它可以用于获取字符串、列表、元组、字典、集合等对象的长度或元素个数。

2. 特性

- len()函数接受一个对象作为参数,返回该对象的长度或元素个数。

- 如果对象是一个字符串,len()函数返回字符串的字符个数。

- 如果对象是一个列表、元组、字典或集合,len()函数返回其中元素的个数。

3. 详细用法

示例代码:

from inner_module_def_datastruct import WEIXIN_URL

# len()函数的使用示例

my_str = WEIXIN_URL

my_list = [1, 2, 3, 4, 5]

my_dict = {'name': 'SteveRocket', 'age': 18}

# 使用len()函数获取字符串的字符个数

print(len(my_str))  # 输出:49

# 使用len()函数获取列表的元素个数

print(len(my_list))  # 输出:5

# 使用len()函数获取字典的元素个数

print(len(my_dict))  # 输出:2

在上面的示例代码中,我们分别使用len()函数获取字符串、列表和字典的长度或元素个数。需要注意的是,如果对象是一个字符串,len()函数返回字符串的字符个数;如果对象是一个列表、元组、字典或集合,len()函数返回其中元素的个数。 

SteveRocket的博客_CSDN博客-Django进阶,Python进阶,网络&信息安全领域博主SteveRocket擅长Django进阶,Python进阶,网络&信息安全,等方面的知识https://blog.csdn.net/zhouruifu2015/


更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。

关于公众号的描述访问如下链接



关于Articulate“做一个知识和技术的搬运工。做一个终身学习的爱好者。做一个有深度和广度的技术圈。”一直以来都想把专业领域的技https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SteveRocket

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值