python内置函数(二)

python内部提供了很多内建函数。下面让我们从a-z开始学习python的内建函数

1.1

callable(object)

如果object参数是可以调用的对象(callable),则返回true,否则就返回false。

a = 123

def fun():

print("hello")

print(callable(a))

print(callable(fun()))

输出的结果是:

False

hello

False

func()是可以调用的对象,所以返回true,但是变量a不是,所以返回false

1.2

chr(i)

返回unicode代码是i的字符

print(chr(97))

输出的结果是:a

i的有效只范围是0~1114111,超过范围会报错。

1.3

classmethod(function)

把类函数当作类的一个方法返回。类方法第一个参数是指明类,跟类中函数一样,第一个参数是指明类实例。类方法修饰符采用下面的格式来使用:

class C:

@classmethod

def f(cls, arg1, arg2, ...):

...

从上面格式来看,@classmethod是函数在前置的一个修饰符,可以查看语言参考手册。经过类方法修饰符的函数,可以直接通过类来调用,比如C.f()方式;也可以通实例的方式来调用,比如C().f()方式,但这个实例在这个函数里被忽略掉了,没起到什么作用。如果类方法修饰符的函数,在继承类时,派生类作为第一个参数传递给这个函数,也就是cls等于派生类。

类方法修饰符定义的函数与C++或JAVA里静态函数是不一样的,如果要相似的功能,需要使用另外一个修饰符staticmethod。

classmethod设计的目的是什么呢?其实与Python面向对象编程有关的,因为Python不支持多个的参数重载构造函数,比如在C++里,构造函数可以根据参数个数不一样,可以写多个构造函数。Python为了解决这个问题,采用classmethod修饰符的方式,这样定义出来的函数就可以在类对象实例化之前调用这些函数,就相当于多个构造函数,解决多个构造函数的代码写在类外面的问题。

与修饰符staticmethod的区别是类方法有一个类型参数,而静态方法没有。静态方法主要用来解决全局函数的作用域的问题,而类方法是解决多个构造函数的问题,因此应用场境不一样。

1.3这个函数的说明引用来自csdn:http://blog.csdn.net/caimouse/article/details/41016797

1.4

complex([real[,imag])

大多数有语言基础的应该都很了解这个complex不管入门哪种语言,感觉刚开始都回去写一个复数类

complex([real[,imag]])

返回一个复数,并且格式是:

real + imag * j

当然,你可以把一个字符串或者一个数字转换为一个复数,如果第一个参数real就是一个字符串,那么这个字符串就会被理解成复数。并且不需要第二个参数

complex就会立即执行。字符串只能是第一个参数,第二个参数绝不可能是字符串的。当你传入的参数是字符串,这个字符串一定不能包含空格,否则会报错

请看几个实例:

print(complex(1,2))

输出的结果是:(1+2j)

print(complex(1))

输出的结果是:(1+0j)

print(complex(‘1+2j‘))

输出的结果是:(1+2j)

print(complex(‘1 + 2j‘))

报错:ValueError: complex() arg is a malformed string

1.5

delattr(object,name)

函数的参数包括一个obj和一个字符串,字符串必须是obj的属性,这个函数删除指定的属性。

class example:

pass

a = example()

setattr(a,‘ok‘,‘hello‘)

print(‘before--a.ok:‘,a.ok)

delattr(a,‘ok‘)

print(‘after--a.ok:‘,a.ok)

看看输出的结果:

before--a.ok: hello

Traceback (most recent call last):

File "D:\Python\xode\try.py", line 7, in <module>

print(‘after--a.ok:‘,a.ok)

AttributeError: ‘example‘ object has no attribute ‘ok‘

显然,a的‘ok‘属性被删除。

1.6

dir([object])

参数object可选,当没有参数时,返回当前范围内的列表名;有参数的时候,试图返回该对象的有效属性列表

如果这个对象有一个方法名:__dir__(),这个方法将被调用并且返回其属性列表。如果对象没有提供__dir__()

,这个函数会试图去从对象的__dict__属性收集信息。

这是python3.4.3文档给出的例子:

>>> import struct

>>> dir()   # show the names in the module namespace

[‘__builtins__‘, ‘__name__‘, ‘struct‘]

>>> dir(struct)   # show the names in the struct module

[‘Struct‘, ‘__all__‘, ‘__builtins__‘, ‘__cached__‘, ‘__doc__‘, ‘__file__‘,

‘__initializing__‘, ‘__loader__‘, ‘__name__‘, ‘__package__‘,

‘_clearcache‘, ‘calcsize‘, ‘error‘, ‘pack‘, ‘pack_into‘,

‘unpack‘, ‘unpack_from‘]

>>> class Shape:

...     def __dir__(self):

...         return [‘area‘, ‘perimeter‘, ‘location‘]

>>> s = Shape()

>>> dir(s)

[‘area‘, ‘location‘, ‘perimeter‘]

1.7

divmod(a,b)

需要两个数字参数,并且返回一系列由这两个参数整除而产生的商和余数

对于不同的操作符,运用二进制算术运算符

1.对于整数integers,这个函数的运算结果是(a//b,a%b)

2.对于浮点数float,这个函数的运算结果是(q,a%b),其中q = math.floor(a/b)

几个实例:

print(divmod(15,4))

运算的结果是:(3, 3)

print(divmod(15.2,4))

运算的结果是:(3.0, 3.1999999999999993)

print(divmod(15.2,0))

ZeroDivisionError: float divmod()

1.8

enumerate(iterable,start = 0)

返回一个枚举(enumerate)对象,iterable必须是一个可以迭代的对象,

people = [‘girl‘,‘boy‘,‘man‘,‘woman‘]

print(list(enumerate(people)))

返回的结果是:

[(0, ‘girl‘), (1, ‘boy‘), (2, ‘man‘), (3, ‘woman‘)]

如果这样

print(list((enumerate(people,start = 5))))

返回的结果是:

[(5, ‘girl‘), (6, ‘boy‘), (7, ‘man‘), (8, ‘woman‘)]

可以看出第二个参数start是开始枚举开始的序号。默认是0。

1.9

eval(expression, globals=None, locals=None)

参数是一个字符串,和可选的全局和本地,如果提供了全局这个参数,那么

全局参数必须是一个字典对象。如果提供本地参数,本地必须是映射对象。

x = 1

print(eval(‘x+1‘))

输出是:2

江苏南京   钟志远  904727147

时间: 2024-10-29 16:02:17

python内置函数(二)的相关文章

Python补充--Python内置函数清单

Python内置函数 Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义.最常见的内置函数是: print("Hello World!") 在Python教程中,我们已经提到下面一些内置函数:基本数据类型 type()反过头来看看 dir()   help()    len()词典 len()文本文件的输入输出 open()循环设计 range()   enumerate()    zip()循环对象

python基础9 -----python内置函数

python内置函数1 一.python内所有的内置函数: 二.python内常用的内置函数: 三.python内内置函数详解: 1.数学运算函数: 2.集合类函数: 3.逻辑类函数: 4.映射类函数: 5.IO操作:

Python 内置函数sorted()有哪些高级用法?

本文和大家分享的主要是python内置函数sorted()的相关内容,一起来看看吧,希望对大家学习python http://www.maiziedu.com/land/python/有所帮助. 1.对于 Python 内置函数 sorted() ,先拿来跟list(列表)中的成员函数 list.sort() 进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. 2.主要的区别在于, list.sort() 是对已经存在的列表进行操作,进而可以改变

Python基础篇【第2篇】: Python内置函数--map/reduce/filter/sorted

Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位置使用lambda表达式.在开发者想要使用一个简单函数作为参数或者返回值时,使用lambda表达式是很方便的.总结:处理简单逻辑,自动返回结果 语法格式: lambda parameters: expression 就相当于 def fun(args) return expression 并且lam

python内置函数和条件判断

python内置函数: http://daixuan.blog.51cto.com/5426657/1846987 查看python的函数介绍: https://docs.python.org/2/library/ Python17个常用内置模块总结: http://wsyht90.blog.51cto.com/9014030/1845737 一.range简介: range(5)生成的序列是从0开始小于5的整数 >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7

Python之路Python内置函数、zip()、max()、min()

Python之路Python内置函数.zip().max().min() 一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回true 例子 print(all([1,2,'1',''])) 输出结果 False 例子2 print(all('')) 输出结果 True any() 把序列中每一个元素做布尔运算,如果有一个为true就返回true, 但

python之内置函数(二)与匿名函数、递归函数初识

一.内置函数(二)1.和数据结构相关(24)列表和元祖(2)list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素).tuple:将一个可迭代对象转化成元组(如果是字典,默认将key作为元组的元素) 2.相关内置函数(2)reversed:将一个序列翻转,并返回此翻转序列的迭代器. *****slice:构造一个切片模板,用于列表的切片.*** 2-1.reversed()与列表的reverse()区分:列表的reverse()只能列表使用:列表.reverse(),对原列

Python 内置函数sorted()在高级用法

对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的.主要的区别在于,list.sort()是对已经存在的列表进行操作,进而可以改变进行操作的列表.而内建函数sorted返回的是一个新的list,而不是在原来的基础上进行的操作. 再来,让我们用Python自带的帮助函数help()看看对于sorted()是怎么定义的: >>>help(sort

15 .内置函数(二),递归函数,二分法

14. 前 方 高能-内置函数 二 本节主要内容: lamda匿匿名函数 sorted() filter() map() 递归函数 一. lamda匿匿名函数为了了解决 一些简单的需求 而设计的 一句句话函数 # 计算n的n次 方 def func(n): return n**n print(func(10)) f = lambda n: n**n print(f(10)) lambda表 示的是匿匿名函数. 不需要 用def来声明,  一句句话就可以声明出 一个函数 语法: 函数名 = lam