Python之路--Python基础4--内置函数

内置函数介绍:

 内置参数官方详解 https://docs.python.org/3/library/functions.html?highlight=built#ascii 

 下面是本人对常用内置函数的理解:

print(abs(-1))  #绝对值  1

print(all([1, 2, 3, 4, 5]))             #True
print(all([‘‘, 1, 2]))                  #False
#bool为False的情况0、 空、None

print(bin(12345), type(bin(12345)))     #0b11000000111001 <class ‘str‘>

print(chr(97))                          #按照ascll表将数字转换成字符  a
print(ord("a"))                         #按照ascll表将字符转换成数字  97

print(divmod(10, 3))                    #返回(商,余数) (3, 1)

print(id(1))                            #查看内存地址

print(isinstance("123", int))           #False
print(type("123") is str)               #判断数据类型  True

print(len("123"))                       #3
print("123".__len__())                  #计算长度  3

print(pow(2, 3))                        #2的3次方  8
print(pow(2, 3, 3))                     #前两个参数是求次方,后一个参数是取余运算   2

print(type(repr(1234)))                 #将1234转成字符串   <class ‘str‘>
print(type(str(1234)))                  #<class ‘str‘>

l = [1, 2, 3]
for i in reversed(l):                   #倒着打印
    print(i)

print(round(3.5))                       # 四舍五入   4
print(round(3.3))                       # 3

print(l[0:3:2])                         #切片[1, 3]
a = slice(0, 3, 2)
print(l[a])                             #切片[1, 3]

print(sum([1, 2, 3, 4, 5]))             #求和运算 15
print(sum([1, 2, 3, 4, 5]), 100)        #可以设置初始值100, 结果为115
print(sum([], 100))                     #100

print(eval("1+2*3/4"))    #将字符串形式的表达式 解析并执行: 2.5

a = "print(‘hello exec‘)"
exec(a)                   #将字符串形式的代码   解析并执行:hello exec

#compile()#几乎用不到      #把一个代码文件加载进来,按exec和eval的方式解析并执行

def Sayhi():
    name = "YL"
    print(locals())     #打印局部变量  {‘name‘: ‘YL‘}
    print(globals())    #打印全局变量
Sayhi()

#-------------------------------------------------------------------------------------
#map(function, sequence1, sequence2...)
a = map(lambda x: x*x, range(10))
print(a)        #<map object at 0x000001CBF8573A20>
print(list(a))  #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
#可以处理多个sequence,实现通过function方法对sequence1,sequence1,..进行处理,这就要求function也支持相应数量的参数输入:
a = map(lambda x, y, z: x+y+z, range(10), range(10), range(10))
print(list(a))  #[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
#------------------------------------------------------------------------------------------

#-------------------------------------------------------------------------------------
#reduce(function, sequence, starting_value):
#仅能处理一个sequence,starting_value为初始化值,执行顺序为:先将每个sequence内部第一个值和starting_value进行function处理,
#处理的结果再与sequence第二个值进行function处理,直到结束。
#->reduce的function函数必须要输入两个变量才能进行运算
from functools import reduce
print(reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1))  #21
#结果为21   执行顺序为---->((((( (1+2) +3)+4)+5)+6))
print(reduce(lambda x, y: x + y, [2, 3, 4, 5, 6]))     #20
#-------------------------------------------------------------------------------------

#------------------------------------------------------------------------------------
# filter(function, sequence):对sequence中的item依次执行function(item),只能有1个sequence
a = range(10)
b = filter(lambda x: x > 5, a)
print(b)       #<filter object at 0x00000204ADDC0748>
print(list(b)) #[6, 7, 8, 9]

print(list(filter(lambda x: x+5, a)))  #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#filter可以看作是过滤函数,貌似并不能修改sequence里面的值

l = [1, 2, 0, 4, 0, 7]
print(list(filter(None, l)))  #当function是None时,返回的是Ture的item:[1, 2, 4, 7]
#-------------------------------------------------------------------------------------

a = list(range(10))
print(a)                #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b = list(range(10, 16))
print(b)                #[10, 11, 12, 13, 14, 15]
print(list(zip(a, b)))  #[(0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15)]

#print
msg = "又回到最初的起点"
f = open("tofile", "w")
print(msg, "记忆中你青涩的脸", sep="|", end="", file=f)  #在文件tofile中写入:又回到最初的起点|记忆中你青涩的脸

import time      #老牛逼了
for i in range(10):
    time.sleep(0.5)
    #print(".")
    print(".", end="", flush=True)

# import sys
# print("---", vars(sys))
# print("...", dir(sys))

# import time
# for n in (100000, 200000, 300000, 400000):
#     data = b‘x‘*n
#     start = time.time()
#     b = data
#     while b:
#         b = b[1:]
#     print(‘bytes‘, n, time.time()-start)
#
# for n in (100000, 200000, 300000, 400000):
#     data = b‘x‘*n
#     start = time.time()
#     b = memoryview(data)
#     while b:
#         b = b[1:]
#     print(‘memoryview‘, n, time.time()-start)

小结:map、filter、reduce三个函数的区别

map函数,可以有多个sequence参数,并且可以修改参数sequence中的item的值

filter函数,只能有一个sequence参数,并且不能修改参数sequence中的item的值,相当于一个过滤函数

reduce函数,只能有一个sequence参数,并且不能修改参数sequence中的item的值,相当于一个累加函数,它的function参数必须有两个参数传入




原文地址:https://www.cnblogs.com/SilenceIOT/p/8231535.html

时间: 2024-12-10 22:55:44

Python之路--Python基础4--内置函数的相关文章

Python这7个好用内置函数!

这篇文章我们来看几个很有用的 Python 内置函数 ,我认为每个学习 Python的 都应该知道这些函数. 对于每个函数,我会使用一个普通的实现来和内置函数做对比. 如果我直接引用了内置函数的文档,请理解,因为这些函数文档写的非常棒! all(iterable) 如果可迭代的对象(数组,字符串,列表等,下同)中的元素都是 true (或者为空)的话返回 True . _all = True for item in iterable: if not item: _all = False brea

Python基础day-11[内置函数(未完),递归,匿名函数]

内置函数: abs() : 返回数字的绝对值.参数可以是整数或浮点数,如果参数是复数,则返回复数的模. print(abs(0.2)) print(abs(1)) print(abs(-4)) print(abs(-0.2)) print(abs(3+4j)) 执行结果: D:\Python\Python36-32\python.exe E:/Python/DAY-11/tmp.py 0.2 1 4 0.2 5.0 Process finished with exit code 0 all():

第六篇:python基础_6 内置函数与常用模块(一)

本篇内容 内置函数 匿名函数 re模块 time模块 random模块 os模块 sys模块 json与pickle模块 shelve模块 一. 内置函数 1.定义 内置函数又被称为工厂函数. 2.常用的内置函数 (1)abs() #!/usr/binl/env python #encoding: utf-8 #author: YangLei print(abs(-1)) (2)all() #!/usr/binl/env python #encoding: utf-8 #author: Yang

python基础知识内置函数(二)、装饰器

一.内置函数 1.chr()  ord() r= chr(65) #ASCII对应的字母 print (r) n= ord("a") #ASCII对应的数字 print(n) #以下为执行结果 A 97 可以利用此函数随机生成验证码: import random li=[] for i in range(6): r = random.randrange(0,5) if r ==2 or r==4: num = random.randrange(0,10) li.append(str(n

python 基础 学习 内置函数

内置函数       例:如果返回数字的绝对值 ,写函数是非常不方便的 [[email protected] tools]# python fa.py  10 [[email protected] tools]# cat fa.py  #!/usr/bin/python def a(x):     if x < 0 :         return -x      return x  n = a(-10) print n  #帮助查看# >>> help(len) 用法: help

Python 基础5:内置函数一

===========内置函数=========== 1.abs绝对值 #abs() i = abs(-123) print(i) #结果:123 2.all与any #all 循环参数,如果每个元素都为真,那么all的返回值为真 #any,只要有一个是真的,则为真 r = all([True,True,False]) print(r) #结果:False #元素为假的有:0,None,空的字符串.列表.元组.字典 3.ascii,对象的类中找__repr__,获取齐返回值 # class Fo

Python开发基础 day10 内置函数 匿名函数 递归

匿名函数lambda 匿名函数:lambda  x,y:x+y 上述解释:x,y分别是函数的参数,x+y是函数的返回值 匿名函数的命名规则,用lamdba 关键字标识,冒号(:)左侧表示函数接收的参数(a,b) ,冒号(:)右侧表示函数的返回值(a+b). 因为lamdba在创建时不需要命名,所以叫匿名函数 等同于普通函数: 1 2 def test(x,y):     return x+y 匿名函数只是没有函数名,主要是配合内置函数使用 示例1: 1 2 3 4 5 6 7 8 9 10 #

Python基础编程 内置函数

内置函数 内置函数(一定记住并且精通) print()屏幕输出 int():pass str():pass bool():pass set(): pass list() 将一个可迭代对象转换成列表 tuple() 将一个可迭代对象转换成元组 dict() 通过相应的方式创建字典. # 创建字典的几种方式 #直接创建 dic = {1: 2} #字典推导式 print({i: 1 for i in range(3)}) dict() #dict创建 dic = dict(one=1, two=2,

Python学习(十六)内置函数,递归

1.递归 def test1(): num=int(input('输入数字')) if num%2==0: #判断输入数字是不是偶数 return True #是偶数,程序退出,返回true print('不是偶数请重新输入') return test1() #不是偶数的话继续调用自己,输入值 print(test1()) 递归的效率不高,最多递归999次 2.内置函数 python自带的函数 id()#看内存地址type()#看数据类型print()#打印input()#输入list() #转

Python(九):递归+内置函数+第三方模块+md5加密+操作mysql

递归 定义:递归就是函数自己调用自己,最多可循环调用999次 内置函数 1.sorted()排序,生成的是列表 2.map()帮你循环调用函数的,保存返回值,返回的是一个list.map接受一个函数名和序列 3.filter:过滤器,帮你循环调用函数,如果函数返回false,那么就过滤掉这个值,是指从你传入这个list里面过滤 4.max()求最大值 5.sum()求和 6.round:保留几位小数 7.chr:把数字转成对应的ascii码表里对应的值 8.ord:把字母转成对应的ascii码表