龙潭书斋 -- 338




概述上一篇日志中,我们讲解了 python 的垃圾回收机制我们也提到了 python 对象的一些源码构成python 的内存管理与垃圾收集 Python 对象所有的 python 对象都有三个特性组成:id -- 使用内建函数 id() 可以获取,被认为是该对象的内存地址,通常并不被程序使用类型 -- 型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么规则,通过用内建函数 type() 可以查看对象的类型信息值 -- 对象表示的数据项id 和类型信息是只读的,对象的值是否可变称为对象的可改变性 对象标准类型python 对象拥有以下标准类型:整型布尔型浮点型复数型字符串列表 -- []元组 -- ()字典 -- {} 其他内建类型typeclassnonefile集合/固定集合函数/方法模块 内部类型内部类型是在一般情况下程序员不需要关心的类型代码帧跟踪记录切片省略Xrange 代码对象代码对象是编译过的 Python 源代码片段,它是可执行对象通
#技术帖    #龙潭书斋    #python    #对象   
hasattrhasattr() 函数用于判断对象是否包含对应的属性。 语法hasattr 语法:hasattr(object, name)  参数object -- 对象。name -- 字符串,属性名。 返回值如果对象有该属性返回 True,否则返回 False。 实例以下实例展示了 hasattr 的使用方法:#!/usr/bin/python # -*- coding: UTF-8 -*- class Coordinate: x = 10 y = -5 z = 0 point1 = Coordinate() print(hasattr(point1, 'x')) print(hasattr(point1, 'y')) print(hasattr(point1, 'z')) print(hasattr(point1, 'no')) # 没有该属性  输出结果:True True True False  maxmax() 方法返回给定参数的最大值,参数可以为序列。 语法以下是 max() 方法的语法:max( x, y, z, .... ) 
#读书笔记    #技术帖    #龙潭书斋    #python   
getattrgetattr() 函数用于返回一个对象属性值。 语法getattr 语法:getattr(object, name[, default])  参数object -- 对象。name -- 字符串,对象属性。default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。 返回值返回对象属性值。 实例以下实例展示了 getattr 的使用方法:>>>class A(object): ... bar = 1 ... >>> a = A() >>> getattr(a, 'bar') # 获取属性 bar 值 1 >>> getattr(a, 'bar2') # 属性 bar2 不存在,触发异常 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'A' object has no attribute 'bar2' >>>
#读书笔记    #技术帖    #龙潭书斋    #python   
formatPython2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序。 实例>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 'hello world' >>> "{0} {1}".format("hello", "world") # 设置指定位置 'hello world' >>> "{1} {0} {1}".format("hello", "world") # 设置指定位置 'world hello world'  也可以设置参数:#!/usr/bin/python # -*- coding: UTF-8 -*- print("网站名:{name}, 地址 {url}".forma
#读书笔记    #技术帖    #龙潭书斋    #python   
filterfilter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。 语法以下是 filter() 方法的语法:filter(function, iterable)  参数function -- 判断函数。iterable -- 可迭代对象。 返回值返回一个迭代器对象 实例以下展示了使用 filter 函数的实例: 过滤出列表中的所有奇数:#!/usr/bin/python3 def is_odd(n): return n % 2 == 1 tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) newlist = list(tmplist) print(newlist) 输出结果 :[1, 3, 5, 7, 9]&
#读书笔记    #技术帖    #龙潭书斋    #python   
evaleval() 函数用来执行一个字符串表达式,并返回表达式的值。 语法以下是 eval() 方法的语法:eval(expression[, globals[, locals]])  参数expression -- 表达式。globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。 返回值返回表达式计算结果。 实例以下展示了使用 eval() 方法的实例:&gt;&gt;&gt;x = 7 &gt;&gt;&gt; eval( '3 * x' ) 21 &gt;&gt;&gt; eval('pow(2,2)') 4 &gt;&gt;&gt; eval('2 + 2') 4 &gt;&gt;&gt; n=81 &gt;&gt;&gt; eval(&quot;n + 4&quot;) 85  intint() 函数用于将一个字符串或数字转
#读书笔记    #技术帖    #龙潭书斋    #python   
anyany() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。元素除了是 0、空、FALSE 外都算 TRUE。函数等价于:def any(iterable):for element in iterable:if element:return Truereturn False Python 2.5 以上版本可用。 语法以下是 any() 方法的语法:any(iterable)  参数iterable -- 元组或列表。 返回值如果都为空、0、false,则返回false,如果不都为空、0、false,则返回true。 实例以下展示了使用 any() 方法的实例:>>>any(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0 True >>> any(['a', 'b', '', 'd']) # 列表list,存在一个为空的元
#读书笔记    #技术帖    #龙潭书斋    #python   
absabs() 函数返回数字的绝对值。 语法以下是 abs() 方法的语法:abs( x )  参数x -- 数值表达式,可以是整数,浮点数,复数。 返回值函数返回 x(数字)的绝对值,如果参数是一个复数,则返回它的大小。 实例以下展示了使用 abs() 方法的实例:#!/usr/bin/python3 print ("abs(-40) : ", abs(-40)) print ("abs(100.10) : ", abs(100.10))  以上实例运行后输出结果为:abs(-40) : 40 abs(100.10) : 100.1  dictdict() 函数用于创建一个字典。 语法dict 语法:class dict(**kwarg) class dict(mapping, **kwarg) class dict(iterable, **kwarg)  参数说明:**kwargs -- 关键字mapping -- 元素的容器。iterable -- 可迭
#读书笔记    #技术帖    #龙潭书斋    #python   
异常处理和 java、php 一样,python 也拥有异常处理机制,他主要使用以下关键字:try、except、as、finally try: filename = input("Enter filename") file = open(filename, 'r') for line in file: print(line) file.close() except IOError as e: print("触发Error:") print(e) finally: print("Finished")  需要注意的是,在 python3 以前,as 关键字还没有诞生,取而代之的是 , (逗号) 我们故意输入一个不存在的文件名,将触发 Error,得到下面的输出:触发Error:[Errno 2] No such file or directory: 'a'Finished 函数与其他语言非常类似,python 也可以定义和调用函数pyth
#读书笔记    #技术帖    #龙潭书斋    #python   
if 语句if 语句的语法如下:if expression: if_suite  python 也支持 else-if,他是用 elif 关键字:if expression1: if_suite elif expression2: elif_suite else: else_suite  示例if x < .0: print '”x” must be atleast 0!'  三元条件表达式C、C++、java 中都有一种三元操作符,也被称作“条件表达式”:C ? X : Y C 是条件表达式; X 是 C 为 True 时的结果, Y 是 C 为 False 时的结果python 2.5 开始集成了类似的语法:X if C else Ypython 的写法更加符合英文中意义的表达>>> x, y = 4, 3 >>> if x < y: ...
#读书笔记    #龙潭书斋    #python    #python核心编程   



京ICP备15018585号