#

# __geratteibute__
class Itcast(object):
def __init__(self,subject1):
self.subject1 = subject1
self.subject2 = 'cpp'
# 属性访问时拦截器,打log日志
def __getattribute__(self,obj):
print("=====1>%s"%obj)
if obj == 'subject1':
print('log subjiect')
return 'redirect python'
else:
temp = object.__getattribute__(self,obj)
print("====2>%s"%str(temp))
return temp

def show(self):
print("this is Itcast")

s = Itcast("python")
print(s.subject1)
print(s.subject2)
# =====1>subject1
# log subjiect
# redirect python
# =====1>subject2
# ====2>cpp
# cpp

s.show()
# =====1>show
# ====2><bound method Itcast.show of <__main__.Itcast object at 0x000001BC04FE5AC8>>
# this is Itcast

# 1.先获取show属性对应的结果,,,,,应该是一个方法
# 2.方法()

class Person(object):
def __getattribute__(self,obj):
print("----test----")
if obj.startswith("a"): #startswith以什me开头
return 'r'
else:
# return self.test
return object.__getattribute__(self,obj)

def test():
print("hehehe")

# 访问属性之前肯定会访问__getattribute__

t = Person()
# t.a #hahah
# t.b #会让程序死掉

# 内建函数
# range
# python2中返回直接是一个列表
# python3中不会 直接返回一个列表

# xrange 节省内存空间

# map函数
# map函数会根据提供的函数对指定序列做映射

# map(...)
# map(function,sequence[,sequence,...]) ->list

# function:是一个函数
# sequence:是一个或多个序列,取决于function需要几个参数
# 返回值是一个list

# 参数序列中的每一个元素分别调用function函数,返回包含每次function函数返回值得list

# 函数需要一个参数
# map(lambda x: x*x,[1,2,3])
# map(lambda x,y:x+y,[1,2,3],[4,5,6])

def f1(x,y):
return (x,y)

l1 = [0,1,2,3,4,5,6]
l2 = [0,1,2,3,4,5,6]

l3 = map(f1,l1,l2)
print(l3)
# <map object at 0x000001EDB5C75DA0>

# filter函数
a = filter(lambda x:x%2, [1,2,3,4])
print(a)
# <filter object at 0x000001BA5AFF5E10>
for tmp in a:
print(tmp)

# 1
# 3

filter(None,"she")

# reduce函数
# reduce函数,reduce函数会对参数序列中元素进行累积

# b = reduce(lambda x,y: x+y, [1,2,3,4])
# print(b)

# reduce(lambda x,y: x+y,["aa","bb","cc"],"dd")
# "ddaabbcc"

c = [1,3,2,9,76,54243]
c.sort()
print(c)

c = [1,3,2,9,76,54243]
# sorted函数
sorted([1,4,3,2])
print(sorted([1,4,3,2]))

python 内建函数的更多相关文章

  1. python 内建函数setattr() getattr()

    python 内建函数setattr() getattr() setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为v ...

  2. python 内建函数 filter,map和reduce

    python 内建函数 filter,map和reduce, 三个函数比较类似,都是应用于序列的内置函数,常见的序列包括list.tuple.str等.而且三个函数都可以和lambda表达式结合使用. ...

  3. Python内建函数-callable

    Python内建函数-callable callable(object) 中文说明:检查对象object是否可调用.如果返回True,object仍然可能调用失败:但如果返回False,调用对象ojb ...

  4. Python内建函数enumerate()用法及在for循环应用

    Python 内建函数enumerate() 由于这个单纯很长,不容易记住,用法还是比较广泛的,下面讲述Python内建函数enumerate()用法. 1,实例 enumerate(sequence ...

  5. Python内建函数reduce()用法

    reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,下面讲述Python内建函数reduce()用法. ...

  6. python内建函数-数字相关

    本篇对于数字有关的内置函数进行总结. 数字包括 int() , long() , float() , complex() ,这些函数都能够用来进行数值类型的转换.同时这些函数也接受字符串参数,返回字符 ...

  7. python 内建函数 type() 和 isinstance() 介绍

    Python 不支持方法或函数重载, 因此你必须自己保证调用的就是你想要的函数或对象.一个名字里究竟保存的是什么?相当多,尤其是这是一个类型的名字时.确认接收到的类型对象的身份有很多时候都是很有用的. ...

  8. python内建函数sorted方法概述

    python中,具体到对list进行排序的方法有俩,一个是list自带的sort方法,这个是直接对list进行操作,只有list才包含的方法:另外一个是内建函数sorted方法,可以对所有可迭代的对象 ...

  9. python 内建函数 str() 和 repr() 的区别

    1.内建函数str()和repr() 或反引号操作符(``)可以方便地以字符串的方式获取对象的内容.类型.数值属性等信息. 2.str()函数得到的字符串可读性好(故被print调用) 3.repr( ...

随机推荐

  1. SpringBoot实现标准的OAuth服务提供商

    ⒈添加pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...

  2. (转载)经典计算机视觉论文笔记——DeepFace\DeepID\DeepID2\DeepID3\FaceNet\VGGFace汇总

    1. DeepFace:Closing the Gap to Human-Level Performance in Face Verification 最早将深度学习用于人脸验证的开创性工作.Face ...

  3. PEP 530 -- 异步推导式

    PEP 530 -- 异步推导式 摘要 PEP 492和PEP 525使用async/await语法引入了协程.PEP 530建议添加list,set,dict推导式和生成器推导式的异步版本. 理论和 ...

  4. win7 vs2012/2013 编译boost 1.55

    bjam install stage --toolset=msvc-11.0 --stagedir="C:\Boost\boost_vc_110" link=shared runt ...

  5. HDU 1250

    简单大数 (要压位,不然会超内存) #include<iostream> #include<cstdio> #include<cstring> #include&l ...

  6. 【原创】运维基础之Docker(5)docker部署airflow

    部署方式:docker+airflow+mysql+LocalExecutor 使用airflow的docker镜像 https://hub.docker.com/r/puckel/docker-ai ...

  7. 新建项目虚拟环境及pycharm配置

    基本操作 查询已有的虚拟环境 workon 激活虚拟环境 workon 虚拟环境名 退出虚拟环境 deactivate 删除虚拟环境 rmvirtualenv 虚拟环境名 查看python版本检查 p ...

  8. python-面向对象(绑定方法与非绑定方法)

    一.绑定方法: 绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数传入 1.绑定给对象的方法:类中定义的函数默认就是绑定给对象的,自动将对象当作第一个参数传入,类也可以调用,但是不会自动传值 2 ...

  9. 洛谷P4606 [SDOI2018]战略游戏 [广义圆方树]

    传送门 思路 先考虑两点如何使他们不连通. 显然路径上所有的割点都满足条件. 多个点呢?也是这样的. 于是可以想到圆方树.一个点集的答案就是它的虚树里圆点个数减去点集大小. 可以把点按dfs序排序,然 ...

  10. Sybase·调用存储过程并返回结果

    最近项目要用Sybase数据库实现分页,第一次使用Sybase数据库,也是第一次使用他的存储过程.2个多小时才调用成功,在此记录: 项目架构:SSM 1.Sybase本身不支持分页操作,需要写存储过程 ...