千家信息网

怎么掌握Python内置方法和属性应用

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇内容介绍了"怎么掌握Python内置方法和属性应用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2026年11月04日怎么掌握Python内置方法和属性应用

本篇内容介绍了"怎么掌握Python内置方法和属性应用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. 前言

python除了丰富的第三方库外,本身也提供了一些内在的方法和底层的一些属性,大家比较常用的如dict、list、set、min、max、range、sorted等。

2. 内置方法和函数介绍

  • enumerate

如果你需要遍历可迭代的对象,有需要获取它的序号,可以用enumerate, 每一个next返回的是一个tuple

list1 = [1, 2, 3, 4]    list2 = [4, 3, 2, 1]    for idx, value in enumerate(list1):        print(idx, value, list2[idx])    # 0 1 4    # 1 2 3    # 2 3 2    # 3 4 1
  • zip zip从参数中的多个迭代器取元素组合成一个新的迭代器;

# 给list加上序号    b = [4, 3, 2, 1]    for i in zip(range(len(b)), b):        print(i)    # (0, 4)    # (1, 3)    # (2, 2)    # (3, 1)
  • globals():一个描述当前执行过程中全局符号表的字典,可以看出你执行的所有过程

  • id(object):python对象的唯一标识

  • staticmethod 类静态函数注解

@staticmethod        def test():           print('this is static method')      Foo.test = test      Foo.test()
  • 类的属性 我们来看下一个类的申明,如下:

class Foo():         """this is test class"""         def __init__(self, name):             self.name = name          def run(self):             print('running')
# 列出类的所有成员和属性   dir(Foo)   ['__class__',   '__delattr__',   '__dict__',   '__dir__',   '__doc__',   '__eq__',   '__format__',  '__ge__',   '__getattribute__',   '__gt__',   '__hash__',   '__init__',   '__init_subclass__',   '__le__',   '__lt__',   '__module__',   '__ne__',   '__new__',   '__reduce__',   '__reduce_ex__',   '__repr__',   '__setattr__',   '__sizeof__',   '__str__',   '__subclasshook__',   '__weakref__',   'run']   # 类的注释   Foo.__doc__   # 'this is test class'   # 类自定义属性   Foo.__dict__   mappingproxy({'__module__': '__main__',             '__doc__': 'this is test class',             '__init__': ,             'run': ,             '__dict__': ,             '__weakref__': })   # 类的父类   Foo.__base__   # 类的名字   Foo.__name__

类的实例化和初始化

# python类先通过__new__实例化,再调用__init__进行初始化类成员      foo = Foo('milk')

类的属性添加和访问

# 类的访问     foo.name     foo.run()    # 可以通过setattr 动态的添加属性     def method():         print("cow")     setattr(foo, "type", "cow")     setattr(foo, "getcow", method)     # cow     foo.type     foo.getcow()     # 动态删除属性 delattr     delattr(foo, "type")     # getattr 获取成员属性     if hasattr(foo, "run"): # 判断是否有属性         func = getattr(foo, "run")         func()

3. 单例模式应用

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。单例模式要求在类的使用过程中只实例化一次,所有对象都共享一个实例。创建的方法是在实例的时候判断下是否已经实例过了,有则返回实例化过的全局实例。python是如何实现的呢?关键是找到实例化的地方,对就是前面说的__new__

class Singleton(object):      def __new__(cls, *args, **kwargs):          if not hasattr(cls, '_instance'):              cls._instance = object.__new__(cls)          return cls._instance       def __init__(self, name):          self.name = name  a = Singleton('name1')  b = Singleton('name2')  print(id(a), id(b))  print(a.name, b.name)  # 1689352213112 1689352213112  # name2 name2

4. 反射应用

反射在许多框架中都有使用到,简单就是通过类的名称(字符串)来实例化类。一个典型的场景就是通过配置的方式来动态控制类的执行,比如定时任务的执行,通过维护每个定时任务类的执行时间,在执行时间到的时候,通过反射方式实例化类,执行任务,在java中也非常的常见。

python的实现可以通过上面说的getattr获取模块中的类, 通过methodcaller来调用方法。我们来看一个简单的例子

import importlib  from operator import methodcaller  class Foo():      """this is test class"""      def __init__(self, name):          self.name = name       def run(self, info):          print('running %s' % info)  # 类所在的模块,默认情况__main__, 可以通过Foo.__dict__ 中'__module__'获取  api_module = importlib.import_module('__main__')   # getattr获取模块中的类, 这里Foo是字符串哦  clazz = getattr(api_module, 'Foo')  # 实例化  params = ["milk"]  instance = clazz(*params)  # 方法调用, 方法也是字符串methodcaller(方法名, 方法参数)  task_result = methodcaller("run", "reflection")(instance)  # running reflection

"怎么掌握Python内置方法和属性应用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

实例 属性 方法 应用 模式 过程 任务 动态 可以通过 字符 字符串 对象 就是 成员 模块 反射 迭代 全局 内容 函数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 博彦科技互联网金融 科技互联网产品 涨乐互联网科技 互联网科技开发公司 互联网科技公司发展 天津摩尔互联网科技 菲比寻常互联网科技 居家互联网科技有限公司 宁波青枫互联网科技有限公司 随着互联网科技发展 互联网科技创新服务 昭通互联网科技选哪家 苏州五指互联网络科技有限 千方科技属于互联网企业吗 天津腾达互联网科技有限公司 佛山市拉法互联网科技有限公司 杭州披云加互联网科技有限公司 互联网科技资金流入 互联网科技接地气 数字互联网科技有限公司 新华互联网科技学院 深圳互联网络科技有限公司 迪茉互联网科技 深圳卡尔迅互联网科技有限公司怎么样 互联网科技公司需要的职位 银川新华互联网科技职业技术培训学校图片 互联网为啥属于高科技 花神(南京)互联网科技有限公司 山东星卡互联网科技有限公司官网 北京互联网科技类企业分布
0