Python魔法函数

本文详细介绍了Python中的魔法函数,包括它们对Python语法和内置函数的影响,以及一系列用于字符串表示、集合操作、迭代、可调用性、上下文管理、数值转换、属性访问等的关键魔法函数。特别强调了len函数在使用时的效率问题。
摘要由CSDN通过智能技术生成

                                         Python魔法函数

一、什么是魔法函数

    1、不使用魔法函数:        

class Company(object):
    def __init__(self, employee_list):
        self.employee = employee_list
        

company = Company(["tom", "bob", "jane"])
employee = company.employee
for item in employee:
    print(item)

运行结果:
tom
bob
jane

    2、使用魔法函数:    

class Company(object):
    def __init__(self, employee_list):
        self.employee = employee_list

    def __getitem__(self, item):
        print("item is %s" %item)
        return self.employee[item]


company = Company(["tom", "bob", "jane"])
for item in company:
    print(item)

运行结果:
item is 0
tom
item is 1
bob
item is 2
jane
item is 3

二、python数据模型对python的影响

    1、魔法函数会直接影响到python的语法本身:

        (1) 有影响的情况:

class Company(object):
    def __init__(self, employee_list):
        self.employee = employee_list

    # def __getitem__(self, item):
    #     print("item is %s" %item)
    #     return self.employee[item]


company = Company(["tom", "bob", "jane"])
companys = company[:2]

for item in companys:
    print(item)

运
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值