python中的元组tuple、内部函数(数字和字母互转ord、chr)和匿名函数lambda

1、元组 
元组(tuple)声明后不能被改变,包含在()之间的内容,每个元素之间用逗号隔开。列表中的元素可以是任意数据类型
 tuple1=('hi','kugou','pig','dog')
 print('获取索引信息:',tuple1.index("kugou"))
*代表元组,**代表字典,都是数据类型
  动态参数:
    1、当形式参数的个数不确定
    2、当形式参数的类型不确定
def func(*args,**kwargs):
    print('args',args)
    print('arg的类型:',type(args))
    print('kwargs',kwargs)
    print('kwargs的类型:',type(kwargs))

    func("hi",'kugou')
    func([1,2,3,4])
    func(name='lyl',age='23',sex='girl',salary='1009')
  PS: 一个函数,不管是否写return的关键字,函数都是有它的返回值的,如果再定义的函数里面没有写return的关键字,那麽函数的返回值位None,如果写了,函数的返回值
就是return后面的内容。同时需要说明的是一个函数, 可以有N个返回值。
def login(username='lyl',password=123):
    if username=='lyl' and password==123:
        return 'balabala'
    else:
        print('账户或者密码有错误')

def profile(token):
    if token=='balabala':
        print('欢迎查看个主页')
    else:
        print("请登录您的账户信息")
        profile(token=login())
  PS:在函数里面定义的变量是局部变量,而在程序开始定义的变量是全局变量,全局变量的作用域是整个函数,二局部变量的左右仅仅是函数而已,当全局变量与局部变量的名字一
样的时候,在函数内部,局部变量是第一优先级,而函数外,全局变量是第一优先级。
name='lyl'

def func():
    global name
    name="hello word"
    print(name)

print(name)
func()
 2、内部函数: chr:数字转为字母
      ord:字母转为数字
import random

def sign():
    lists=[]
''''生成验证码的函数'''
for item in range(6):
  # 随机生成5—100的验证码
  r=random.randrange(5,100)
#由数字转为字母
     lists.append(chr(r))
     print(''.join(lists))
  sign()

list1=[1,2,3,4,5,6,7,8,9,10]
def funFilter(a):
    if a>2:
        return True
print(list(filter(funFilter,list1))) 
3、匿名函数
a=lambda x,y:x+y
 print(a(4,5))
print(list(filter(lambda item:item>2,list1)))

def mapfun(a):
    return a+10

print(list(map (mapfun,list1)))
print(list(map(lambda item:item+10,list1)))
posted @ 2022-06-13 15:43  就不将就就  阅读(241)  评论(0编辑  收藏  举报