python 内置函数详解(1)

简介: python 内置函数详解(1)

python 内置函数

文章目录

python 内置函数

1. 数学相关

2. 类型转换

3. 相关操作

4. 内置函数

4.1 add()添加

4.2 append()向列表的尾部添加一个新的元素

4.3 all()判断列表是否有为空的元素

4.4 clear() 函数用于删除字典内所有元素

4.5 del()删除列表的元素

4.6 remove是用来移除指定值. 并且,一次只会移除一个

4.7 () 函数用来执行一个字符串表达式并返回表达式的值

4.8 filter()过滤元组值,不能修改

4.9 flush() 刷新缓冲区

4.10 input()和raw_input()

4.11 isatty() 检测文件是否连接到一个终端设备

4.12 isinstance()与type()

4.13 lower() 方法转换字符串中所有大写字符为小写

4.14 map()迭代函数以列表返回

4.15 reduce() 函数会对参数序列中元素进行累积

4.16 pop()函数用于移除列表中的一个元素(默认最后一个元素)并且返回该元素的值

4.17 pow()获取乘方数

4.18 seek()用于移动文件读取指针到文件指定的位置

4.19 set集合创建

4.19.1 创建集合

4.19.2 访问集合

4.19.3 交集与并集、差集、对称差集(反向交集)、父集

4.20 strip()它返回的是字符串的副本并删除前导和后缀字符

4.21 lstrip()与rstrip分别删除前缀与后缀

4.22 truncate() 方法用于截断文件

4.23 startswith()与endswith()

4.24 tuple() 函数将列表转换为元组。

4.25 with()

5. 函数混合

5.1 list 、filter、lambda

5.2 reduce、lambda

5.3 lambda、map、list

1. 数学相关

abs(a) : 求取绝对值。abs(-1)
max(list) : 求取list最大值。max([1,2,3])
min(list) : 求取list最小值。min([1,2,3])
sum(list) : 求取list元素的和。 sum([1,2,3]) >>> 6
sorted(list) : 排序,返回排序后的list。
len(list) : list长度,len([1,2,3])
divmod(a,b): 获取商和余数。 divmod(5,2) >>> (2,1)
pow(a,b) : 获取乘方数。pow(2,3) >>> 8
round(a,b) : 获取指定位数的小数。a代表浮点数,b代表要保留的位数。round(3.1415926,2) >>> 3.14
range(a[,b]) : 生成一个a到b的数组,左闭右开。 range(1,10) >>> [1,2,3,4,5,6,7,8,9]

2. 类型转换

int(str) : 转换为int型。int('1') >>> 1
float(int/str) : 将int型或字符型转换为浮点型。float('1') >>> 1.0
str(int) : 转换为字符型。str(1) >>> '1'
bool(int) : 转换为布尔类型。 str(0) >>> False str(None) >>> False
bytes(str,code) : 接收一个字符串,与所要编码的格式,返回一个字节流类型。bytes('abc', 'utf-8') >>> b'abc' bytes(u'爬虫', 'utf-8') >>> b'\xe7\x88\xac\xe8\x99\xab'
list(iterable) : 转换为list。 list((1,2,3)) >>> [1,2,3]
iter(iterable): 返回一个可迭代的对象。 iter([1,2,3]) >>> <list_iterator object at 0x0000000003813B00>
dict(iterable) : 转换为dict。 dict([('a', 1), ('b', 2), ('c', 3)]) >>> {'a':1, 'b':2, 'c':3}
enumerate(iterable) : 返回一个枚举对象。
tuple(iterable) : 转换为tuple。 tuple([1,2,3]) >>>(1,2,3)
set(iterable) : 转换为set。 set([1,4,2,4,3,5]) >>> {1,2,3,4,5} set({1:'a',2:'b',3:'c'}) >>> {1,2,3}
hex(int) : 转换为16进制。hex(1024) >>> '0x400'
oct(int) : 转换为8进制。 oct(1024) >>> '0o2000'
bin(int) : 转换为2进制。 bin(1024) >>> '0b10000000000'
chr(int) : 转换数字为相应ASCI码字符。 chr(65) >>> 'A'
ord(str) : 转换ASCI字符为相应的数字。 ord('A') >>> 65

3. 相关操作

eval() : 执行一个表达式,或字符串作为运算。 eval('1+1') >>> 2
exec() : 执行python语句。 exec('print("Python")') >>> Python
filter(func, iterable) : 通过判断函数fun,筛选符合条件的元素。 filter(lambda x: x>3, [1,2,3,4,5,6]) >>> <filter object at 0x0000000003813828>
map(func, *iterable) : 将func用于每个iterable对象。 map(lambda a,b: a+b, [1,2,3,4], [5,6,7]) >>> [6,8,10]
zip(*iterable) : 将iterable分组合并。返回一个zip对象。 list(zip([1,2,3],[4,5,6])) >>> [(1, 4), (2, 5), (3, 6)]
type():返回一个对象的类型。
id(): 返回一个对象的唯一标识值。
hash(object):返回一个对象的hash值,具有相同值的object具有相同的hash值。 hash('python') >>> 7070808359261009780
help():调用系统内置的帮助系统。
isinstance():判断一个对象是否为该类的一个实例。
issubclass():判断一个类是否为另一个类的子类。
globals() : 返回当前全局变量的字典。
next(iterator[, default]) : 接收一个迭代器,返回迭代器中的数值,如果设置了default,则当迭代器中的元素遍历后,输出default内容。
reversed(sequence) : 生成一个反转序列的迭代器。 reversed('abc') >>> ['c','b','a']

4. 内置函数

4.1 add()添加

s=['alex', 2,3]
s2=set(s)
print(s2)
s2.add('uu')
print(s2)
output:
{3, 'alex', 2}
{3, 'alex', 2, 'uu'}

4.2 append()向列表的尾部添加一个新的元素

#!/usr/bin/python
aList = [123, 'xyz', 'zara', 'abc'];
aList.append( 2009 );
print "Updated List : ", aList;
output:
Updated List :  [123, 'xyz', 'zara', 'abc', 2009]

4.3 all()判断列表是否有为空的元素

print(all([1,2,3,'ef']))
True
print(all([1,2,3,'ef','']))
False

4.4 clear() 函数用于删除字典内所有元素

#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7};
print "Start Len : %d" %  len(dict)
dict.clear()
print "End Len : %d" %  len(dict)
以上实例输出结果为:
Start Len : 2
End Len : 0

4.5 del()删除列表的元素

#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000]
print list1
del list1[2]
print "After deleting value at index 2 : "
print list1

4.6 remove是用来移除指定值. 并且,一次只会移除一个

s=['alex', 2,3]
s2=set(s)
print(s2)
s2.remove('alex')
print(s2)   
output:
{3, 2, 'alex'}
{3, 2}

4.7 () 函数用来执行一个字符串表达式并返回表达式的值

参数

  • expression – 表达式。
  • globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
  • locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。 返回值
>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85
a=str({'beijing':{'1':111}})
print(type(a))
print(a)
a=eval(a)
print()
print(a['beijing'])
output:
<class 'str'>
{'beijing': {'1': 111}}
{'1': 111}

4.8 filter()过滤元组值,不能修改

#!/usr/bin/python
#---coding:utf-8---
str = ['a','b','c','d']
def funl(s):
    if s != 'a':
        return s
ret = filter(funl,str)   #ret是一个迭代器
print(list(ret))
[root@localhost func]# python filter.py
['b', 'c', 'd']

4.9 flush() 刷新缓冲区

即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打开文件
fo = open("runoob.txt", "wb")
print "文件名为: ", fo.name
# 刷新缓冲区
fo.flush()
# 关闭文件
fo.close()

4.10 input()和raw_input()

raw_input()随便输都是字符串,而input()必须按照Python的规则来~

raw_input()

name=raw_input('输入姓名:')
age=raw_input('输入年龄')
我们输入汉字的姓名和数字的年龄
输入姓名:许嵩
输入年龄:31
许嵩 31

年龄的格式是string

input()

name=input('输入姓名:')
age=input('输入年龄:')
我们还是输入汉字的姓名和数字的年龄
输入姓名:'许嵩'
输入年龄:31
许嵩 31

input()输入严格按照Python的语法,是字符就自觉的加 ’ ’ ,数字就是数字

raw_input()input()区分使用
字符的时候可以用raw_input(),当然不怕麻烦也可以用input()手动加’’
int类型的时候最好用input()

$ cat input1.py
#!/usr/bin/python3.8
#-----coding:utf-8---
name = input("Name:")
age = int(input('Age:'))
job = input("Job:")
salary = input('Salary:')
if salary.isdigit():  #长的像不像数字,比如200d,'200'
    salary = int(salary)
#else:
    print("must input digit")
    exit()
msg = '''
-------- info of %s -------
Name: %s
Age : %s
Job : %s
Salary: %f
You will be retired in %s years
-------- end ------------------
''' % (name, name, age, job, salary ,65-age)
print(msg)
[root@localhost func]# python3.8 input1.py
Name:liming
Age:18
Job:IT
Salary:800
-------- info of liming -------
Name: liming
Age : 18
Job : IT
Salary: 800.000000
You will be retired in 47 years
-------- end ------------------

4.11 isatty() 检测文件是否连接到一个终端设备

如果是返回 True,否则返回 False。

fileObject.isatty()
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打开文件
fo = open("runoob.txt", "wb")
print "文件名为: ", fo.name
ret = fo.isatty()
print "返回值 : ", ret
# 关闭文件
fo.close()
以上实例输出结果为:
文件名为:  runoob.txt
返回值 :  False

4.12 isinstance()与type()

isinstance() 函数来判断一个对象是否是一个已知的类型

isinstance() 与 type() 区别:


type() 不会认为子类是一种父类类型,不考虑继承关系。

isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。以下是 isinstance() 方法的语法:

isinstance(object, classinfo)

参数

object – 实例对象。

classinfo – 可以是直接或间接类名、基本类型或者由它们组成的元组。

>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))    # 是元组中的一个返回 True
True

type() 与 isinstance()区别:

class A:
    pass
class B(A):
    pass
isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

对于基本类型来说 classinfo 可以是:

int,float,bool,complex,str(字符串),list,dict(字典),set,tuple

要注意的是,classinfo 的字符串是 str 而不是 string,字典也是简写 dict。

实例

arg=123
isinstance(arg, int)    #输出True
isinstance(arg, str)    #输出False
isinstance(arg, string) #报错

4.13 lower() 方法转换字符串中所有大写字符为小写

#!/usr/bin/python
str = "THIS IS STRING EXAMPLE....WOW!!!";
print str.lower();
以上实例输出结果如下:
this is string example....wow!!!

4.14 map()迭代函数以列表返回

1.对可迭代函数’iterable’中的每一个元素应用‘function’方法,将结果作为list返回

$ cat map1.py
#!/usr/bin/python
def add100(x):
     return x+100
hh = [11,22,33]
print map(add100,hh)
[root@localhost func]# python map1.py 
[111, 122, 133]

2.如果给出了额外的可迭代参数,则对每个可迭代参数中的元素‘并行’的应用‘function’

$ cat map2.py
#!/usr/bin/python
def abc(a, b, c):
     return a*10000 + b*100 + c
list1 = [11,22,33]
list2 = [44,55,66]
list3 = [77,88,99]
print map(abc,list1,list2,list3)
[root@localhost func]# python map2.py
[114477, 225588, 336699]

3.如果’function’给出的是‘None’,自动假定一个‘identity’函数

$ cat map3.py
#!/usr/bin/python
list1 = [11,22,33]
print map(None,list1)
list1 = [11,22,33]
list2 = [44,55,66]
list3 = [77,88,99]
print map(None,list1,list2,list3)
[root@localhost func]# python map3.py
[11, 22, 33]
[(11, 44, 77), (22, 55, 88), (33, 66, 99)]

4.map(f, iterable)基本上等于:[f(x) for x in iterable]

$ cat map4.py
#!/usr/bin/python
def add100(x):
    return x + 100
list1 = [11,22,33]
print map(add100,list1)
print [add100(i) for i in list1]
[root@localhost func]# python map4.py
[111, 122, 133]
[111, 122, 133]

4.15 reduce() 函数会对参数序列中元素进行累积

函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

reduce(function, iterable[, initializer])

参数

  • function – 函数,有两个参数
  • iterable – 可迭代对象
  • initializer – 可选,初始参数
from functools import reduce
def add1(x,y):
    return x + y
print(reduce(add1,range(1,10)))
output:
45
相关文章
|
1月前
|
开发者 Python 容器
python函数基础以及函数参数简解
python函数基础以及函数参数简解
|
1天前
|
数据库 开发者 Python
实战指南:用Python协程与异步函数优化高性能Web应用
在快速发展的Web开发领域,高性能与高效响应是衡量应用质量的重要标准。随着Python在Web开发中的广泛应用,如何利用Python的协程(Coroutine)与异步函数(Async Functions)特性来优化Web应用的性能,成为了许多开发者关注的焦点。本文将从实战角度出发,通过具体案例展示如何运用这些技术来提升Web应用的响应速度和吞吐量。
7 1
|
1天前
|
调度 Python
揭秘Python并发编程核心:深入理解协程与异步函数的工作原理
在Python异步编程领域,协程与异步函数成为处理并发任务的关键工具。协程(微线程)比操作系统线程更轻量级,通过`async def`定义并在遇到`await`表达式时暂停执行。异步函数利用`await`实现任务间的切换。事件循环作为异步编程的核心,负责调度任务;`asyncio`库提供了事件循环的管理。Future对象则优雅地处理异步结果。掌握这些概念,可使代码更高效、简洁且易于维护。
6 1
|
5天前
|
Python
[oeasy]python035_根据序号得到字符_chr函数_字符_character_
本文介绍了Python中的`ord()`和`chr()`函数。`ord()`函数通过字符找到对应的序号,而`chr()`函数则根据序号找到对应的字符。两者互为逆运算,可以相互转换。文章还探讨了单双引号在字符串中的作用,并解释了中文字符和emoji也有对应的序号。最后总结了`ord()`和`chr()`函数的特点,并提供了学习资源链接。
14 4
|
8天前
|
Java Python
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
【9月更文挑战第18天】在 Python 中,虽无明确的 `interface` 关键字,但可通过约定实现类似功能。接口主要规定了需实现的方法,不提供具体实现。抽象基类(ABC)则通过 `@abstractmethod` 装饰器定义抽象方法,子类必须实现这些方法。使用抽象基类可使继承结构更清晰、规范,并确保子类遵循指定的方法实现。然而,其使用应根据实际需求决定,避免过度设计导致代码复杂。
|
11天前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
24天前
|
Python
python 函数
【9月更文挑战第4天】python 函数
37 5
WK
|
1月前
|
Python
python中的函数有哪些种类?
在 Python 中,函数根据定义方式、用途及来源可分为多种类型:自带的内置函数(如 print(), len())无需导入直接使用;标准库函数需导入相应模块后使用;第三方库函数则需先安装库再导入使用;用户自定义函数可根据需求定义并多次调用;匿名函数(lambda)无函数名,常用于需要函数对象但不想单独定义的情形;高阶函数接受或返回函数;装饰器函数可在不改动原函数代码情况下为其添加新功能;生成器函数使用 yield 逐个返回值;递归函数在自身定义中调用自身;嵌套函数在一个函数内定义,可访问外部函数变量。各种函数类型在编程中有不同的用途和优势。
WK
42 12
|
1天前
|
开发者 Python
Python 中的 Input 函数及其实现机制
Python 中的 Input 函数及其实现机制
|
30天前
|
Python
Python 中 help() 和 dir() 函数的用法
【8月更文挑战第29天】
25 5