#

# __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. java在进程启动和关闭.exe程序

    /** * @desc 启动进程 * @author zp * @date 2018-3-29 */ public static void startProc(String processName) ...

  2. PHP反序列化漏洞学习

    serialize:序列化 unserialize: 反序列化 简单解释: serialize 把一个对象转成字符串形式, 可以用于保存 unserialize 把serialize序列化后的字符串变 ...

  3. mysql5.7 版本中 timestamp 不能为零日期 以及sql_mode合理设置

    ---恢复内容开始--- 摘要: mysql5.7版本相比较之前的版本有很多的特性的增加以及默认配置的改变,在使用中难免会遇到与之前的使用习惯或者项目需求不符的情况.就需要调整相应的变量的值,比如sq ...

  4. mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系【转】

    转自:https://blog.csdn.net/bmw7bmw7/article/details/45876487 我们先来看一个公式:Mipiclock = [ (width+hsync+hfp+ ...

  5. python3+selenium框架设计01-Page Object

    页面对象模型Page Object Modal是一种脚本设计模型,将页面元素,业务操作分割,当实际页面发生变化的时候,只需要修改页面元素文件,业务操作不需要修改. 具体实现需要先写一个页面公共类,里面 ...

  6. Python3学习笔记30-datetime模块

    datetime是Python处理日期和时间的标准库 获取当前的日期和时间 from datetime import datetime now = datetime.now() print(now) ...

  7. 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考

    最近做在Windows XP X64,VS2005环境下做32位程序编译为64位程序的工作,遇到了一些64位编程中可能遇到的问题:如内联汇编(解决方法改为C/C++代码),long类型的变化,最关键的 ...

  8. 题解-bzoj4320 Homework

    Problem bzoj4320 Solution 前置技能:分块+线段树+卡常+一点小小的数学知识 考试时A的 这种题无论怎么处理总有瓶颈,套路分块,设\(k\)以下的插入时直接暴力预处理,查询时直 ...

  9. RabbitMQ 选型和对比

    背景 这个纯粹是记下知识点,知道自己在这个时候了解过这个技术.技术点网上很多,就不多说了.只是想起多年前做过的一次项目,是多个项目整合,各种数据库,java和c#项目,互相调来调去,甚至直接链接对方数 ...

  10. 关于flock

    昨天在研究dropbear实现时,看到初始化脚本/etc/init.d/dropbear中有关于文件锁lock的内容,如下: lock /tmp/.switch2jffs    mkdir -p /e ...