04_内置函数(二)

内置函数(二)

1.1 callable()

功能:函数是否可调用

示例1:

def f1():
    pass
f1()

f2 = 123
f2()

# 输出结果
TypeError: ‘int‘ object is not callable

示例2:

def f1():
    pass
# f1()

f2 = 123
# f2()

print(callable(f1))
print(callable(f2))

# 输出结果
True
False

1.2 chr()

功能:数字转字母,返回对应的ASCII码。

r = chr(65)
print(r)

# 输出结果
A

1.3 ord()

功能:字母转数字

n = ord("B")
print(n)

# 输出结果
66

1.4 range()

功能:取值范围

示例1:随机生成6位验证码 字母

# 使用前必须导入random
import  random
# 定义一个空列表
li = []
# 循环6次,取值范围6位
for i in range(6):
    # 设置随机数范围65-91
    temp = random.randrange(65, 91)
    # 生成的数字转换成字母
    c = chr(temp)
    # 将取到的结果添加到列表li内
    li.append(c)
# li = ["c","b","a"]  #cba  合并
# 拼接字符串join
result = "".join(li)
# 打印结果
print(result)

示例2:随机6位验证码 完整版 字母+数字

# 使用前必须导入random
import  random
# 定义空列表
li = []
# 循环6次,取值范围6位
for i in range(6):
    # 设定r为随机生成数,范围0-5
    r = random.randrange(0, 5)
    # 当 r=2 或 r=4 时
    if r == 2 or r == 4:
        # num为0-10随机生成数
        num = random.randrange(0, 10)
        # 添num值到列表
        li.append(str(num))
    # 当 r=0,1,3,4时
    else:
        # temp为A-Z的随机生数65-91
        temp = random.randrange(65, 91)
        # 转换获取到的数字为字母
        c = chr(temp)
        # 添加字母到列表
        li.append(c)
# li = ["c","b","a"]  #cba  合并
# 拼接字符串join
result = "".join(li)
# 打印结果
print(result)

1.5 compile()

功能:将字符串编译成Python代码

# single 单行
# eval 表达式
# exec python

s = "print(123)"
# 将字符串编译成python代码
r = compile(s, "<string>","exec")
# 执行代码
exec(r)

# 输出结果
123

1.6 eval()

功能:执行表达式,获取结果,有返回值

s = "8*8"
ret = eval(s)
print(ret)

# 输出结果
64

1.7 exec()

功能:执行python代码,接收代码或者字符串,无返回值

exec("7+9+8")

小结:compile,exec,eval

compile():转换,将字符串,编译成python代码
eval():执行表达式,获取结果,有返回值
exec():执行python代码,无返回值

1.8 dir()

功能:快速查看一个对象提供了哪些功能

# 查看列表提供了哪些功能
print(dir(list))

# 输出结果
[‘__add__‘, ‘__class__‘, ‘__contains__‘, ‘__delattr__‘, ‘__delitem__‘, ‘__dir__‘, ‘__doc__‘, ‘__eq__‘, ‘__format__‘, ‘__ge__‘, ‘__getattribute__‘, ‘__getitem__‘, ‘__gt__‘, ‘__hash__‘, ‘__iadd__‘, ‘__imul__‘, ‘__init__‘, ‘__iter__‘, ‘__le__‘, ‘__len__‘, ‘__lt__‘, ‘__mul__‘, ‘__ne__‘, ‘__new__‘, ‘__reduce__‘, ‘__reduce_ex__‘, ‘__repr__‘, ‘__reversed__‘, ‘__rmul__‘, ‘__setattr__‘, ‘__setitem__‘, ‘__sizeof__‘, ‘__str__‘, ‘__subclasshook__‘, ‘append‘, ‘clear‘, ‘copy‘, ‘count‘, ‘extend‘, ‘index‘, ‘insert‘, ‘pop‘, ‘remove‘, ‘reverse‘, ‘sort‘]

1.9 help()

功能:查看帮助,功能详细

1.10 divmod()

功能:比较x,y,返回商和余数,返回类型为tuple

例:共:97条,每页显示10条,需要多少页

r = divmod(97,10)
print(r)

# 输出结果
(9, 7) 

1.11 isinstance()

功能:用于判断对象是否是某个类的实例

# 对象是类的实例
s = "alex"
r = isinstance(s, str)
print(r)

# 输出结果
True

1.12 filter()

功能:用于过滤列表中的一些元素

格式:filter(函数,可迭代的对象)

示例:li = [11, 22, 33, 44, 55, ],筛选大于22的

1.12.1 编写函数

# 定义函数f1
def f1(args):
    # 设定空列表
    result = []
    # for循环
    for item in args:
        # 判断item是否大于22
        if item > 22:
            # 大于22添加到result列表
            result.append(item)
    # 返回result值
    return result

li = [11, 22, 33, 44, 55, ]

# 执行函数
ret = f1(li)
print(ret)

# 输出结果
[33, 44, 55]

1.12.2 filter函数

# 定义函数f2
def f2(a):
    if a > 22:
        return True

li = [11, 22, 33, 44, 55, ]
# filter内部循环第二个参数,让每个循环元素执行函数,如果函数的返回值True,表示元素合法
ret = filter(f2, li)
print(list(ret))

# 输出结果
[33, 44, 55]

1.12.3 通过lambda表达式实现

lambda回顾 自动return

f1 = lambda a: a > 30
ret = f1(90)
print(ret)

# 实现筛选,简化表达式
li = [11, 22, 33, 44, 55, ]
result = filter(lambda  a: a > 22, li)
print(list(result))

# 输出结果
[33, 44, 55]

1.13 map()

功能:将一个列表映射到另一个列表

格式:map(函数, 可迭代的对象(可以循环的东西))

示例,列表里的数分别增加100

map方法

# 列表
li = [11, 22, 33, 44, 55, ]
# 定义函数f2,参数a
def f2(a):
    # 函数体,a + 100并返回值
    return a + 100
# 运行函数,li列表内的所有元素循环作为f2函数的参数a并执行f
result = map(f2, li)
print(list(result))

# 输出结果
[111, 122, 133, 144, 155]

lambda方法

li = [11, 22, 33, 44, 55, ]
result = map(lambda a: a + 100 , li)
print(list(result))

# 输出结果
[111, 122, 133, 144, 155]

1.14 globals(),locals()

globals 所有的全局变量

locals 所有的局部变量

NAME = "ALEX"  # 全局变量
def show():
    a = 123  # 局部变量
    c = 123
    print(globals())
    print(locals())
show()

# 输出结果
# 全局变量
{‘__cached__‘: None, ‘__name__‘: ‘__main__‘, ‘__package__‘: None, ‘__loader__‘: <_frozen_importlib_external.SourceFileLoader object at 0x000000DB870C5940>, ‘NAME‘: ‘ALEX‘, ‘show‘: <function show at 0x000000DB8712E510>, ‘__file__‘: ‘ old_dict.__delitem__(host)\n\nprint(u"====信息更新完毕====")\nprint(old_dict)\n‘}

# 局部变量
{‘a‘: 123, ‘c‘: 123}

1.15 hash()

功能:转换哈希值,一般用于保存字典里的key

s = "ffff"
print(hash(s))

# 输出结果
6225191154271087305

1.16 len()

功能:字符长度

python 3里默认按字符()

s = "李杰"
print(len(s))

python2.7里默认按字节

s = "李杰"
b = bytes(s, encoding="utf-8")
print(len(b))

1.17 sum()

功能:数字序列的元素相加

r = sum([11,22,33,44,])
print(r)

# 输出结果
110

1.18 memoryview()

说明:内存地址相关的一个类

1.19 object()

说明:是所有类的父类

1.20 pow()

功能:方法返回xy(x的y次方)的值

# 需要导入math
import math
print(math.pow(2, 3))

# 输出结果
8.0

1.21 property()

说明:特性(面向对象)

1.22 repr()

功能:repr执行类里的__repr__

r = repr("alex")
print(r)

# 输出结果
‘alex‘

1.23 reversed()

功能:反转

print(list(reversed([‘NB‘,‘is‘,‘alex‘])))

# 输出结果
[‘alex‘, ‘is‘, ‘NB‘]

1.24 round()

功能:四舍五入

格式:round(数字,保留位数)

print(round(5.44, 1))
print(round(5.77, 1))

# 输出结果
5.4
5.8

1.25 slice()

功能:切片

s = "sssssssss"
print(s[0:2:2])

# 输出结果
s

1.26 sorted()

功能:排序

li = [11, 44, 22, 33,]
print(li)
li.sort()
print(li)

# 输出结果
[11, 44, 22, 33]
[11, 22, 33, 44]

1.27 zip()

功能:接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)

l1 = ["alex", 11, 22, 33, ]
l2 = ["is", 11, 22, 33, ]
l3 = ["nb", 11, 22, 33, ]
r = zip(l1, l2, l3)
# print(list(r))
temp = list(r)[0]
ret = " ".join(temp)
print(ret)

# 输出结果
alex is nb

  

时间: 2024-10-21 07:18:37

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

学习13.内容# 1.内置函数二 # 2.闭包

目录 内置函数二 重要的内置函数和匿名函数 闭包 内置函数二 abs 绝对值 返回的都是正数 print([abd(i) for i in lst]) enumerate 枚举 ("可迭代对象","序号的起始值") 默认起始值是0 [(0,1),(1,2),(2,3)] print([i for i in enumerate(lst,10)]) lst = [11,22,33,-44,23,21] new_lst = [] for i in enumerate(ls

内置函数(二) 闭包

内置函数(二) 内置函数 1.abs( ) print([abs(i) for i in lst]) # 绝对值 -- 返回的都是正数 2.enumerate( ) [(0,1)(1,2)(2,3)] print([i for i in enumerate(lst,10)]) # 枚举("可迭代对象","序号的起始值") 默认的起始值是 0 3.max( ) print(max([1,2,3,4,56,7,8])) # 求最大值 print(max([1,2,-33

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

内置函数二、递归、二分法

一.lambda匿名函数 为了解决一些简单的需求而设计的一句话函数,如下示例: # 以前的写法 def func(n): return n ** n print(func(10)) # lambda函数 f = lambda n : n ** n print(f(10)) print(f.__name__) # 结果为:<lambda> # __name__可以查看函数的名字,匿名函数__name__的值都是<lambda> lambda表示的是匿名函数,不需要用def来声明,一句

Python 13 内置函数二

内置函数知识点二 lamda匿名函数 sorted() filter() map() 递归函数 lamda 怎么使用 #计算n的n次方 普通的函数写 def func(n): return n**n print(func(10)) 一, lamda匿名函数 为了解决一些简单的需求而设计的一句话函数 f = lambda n: n**n print(f(10)) lambda表明的是匿名函数. 不需要用def来声明, 一句话就可以声明出一个函数 语法: 函数名 = lambda 参数: 返回值 注

Python入门-内置函数二

看到标题你也能猜到今天要说大概内容是什么了,没错,昨天没有说完的部分再给大家说说(有一些重合的部分),内置函数的内容比较多,并且工作中经常用到的却不太多,很多都是不太常用的,所以我就着重说一些比较常用的,今天再说两个函数:匿名函数和递归函数.还有就是二分法查找 首先来说一下匿名函数,因为几个比较重要的内置函数都要和匿名函数搭配来用 一.匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算n的n次方 def func(n): return n**n print(func(10)) f =

内置函数二: map sorted filter

-----------生活里没有奇迹,大部分的时候奇迹是你自己创造的. # -------------------------------------------------------------------------# # sum = lambda a,b:a+b# svm = sum(10,510)# print(svm) # st = ["魔兽世界","吃鸡","阴阳师","地下城与勇士","传奇"

百万年薪python之路 -- 内置函数二 -- 最常用的内置函数

1.内置函数 1.1 匿名函数 匿名函数,顾名思义就是没有名字的函数(其实是有名字的,就叫lambda),那么什么函数没有名字呢?这个就是我们以后面试或者工作中经常用匿名函数 lambda,也叫一句话函数. 现在有一个需求:你们写一个函数,此函数接收两个int参数,返回 和的值. def func(a,b): return a+b print(func(3,4)) 那么 接下来我们用匿名函数完成上面的需求: func = lambda a,b: a+b print(func(3, 4)) # 7

万物之源泉14 内置函数二

一. lamda匿名函数 为了解决一些简单的需求而设计的一句话函数# 计算n的n次方 #先用之前的函数办法 def func(n): return n**2 print(func(9)) #用lambda方法: a = lambda n : n*n print(a(9)) lambda表示的是匿名函数 不需要用def声明 语法: 函数名 = lambda 参数 : 返回值 而匿名函数返回的是lambda,所有函数都叫lambda 注意: 1.函数可以参数可以有多个,多个参数用逗号隔开 2.匿名函