IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 函数的综合应用---(python10) -> 正文阅读

[Python知识库]函数的综合应用---(python10)

1. 列表推导式

表达的变量要与循环中的变量名称一致

c1 = [x for x in range(10)]
print(c1)

c2 = [x for x in range(10) if x%2==0]
print(c2)

c3= [(x,y) for x in range(3) for y in range(3)]
print(c3)

2. 组包与拆包

拆包的时候变量个数要与包里边元素的个数的相同

# 组包
a = 1,2,3,4,5
print(a)
print(type(a))

# 拆包 拆包的时候变量个数要与包里边元素的个数的相同
a1,a2,a3 = {'a':'7', 'b':'3', 'c':'4'}
print(a1,a2,a3)

3. 函数返回多个值

返回的类型会是元组

def test():
    c = [1,6,7,8,9]
    # m =max(c)
    # n=min(c)
    c.sort()
    print(c)
    m = c[len(c)-1]
    n = c[0]
    return m,n


print(test())

4. 函数的嵌套调用与递归

def a():
    print('a start')
    b()
    print('a stop')
def b():
    print('b start')
    c()
    print('b stop')
def c():
    print('c start')
    print('c stop')
a()

递归:自己调用自己

# 递归的调用
def jiec(a):
    if a ==1:
        return 1
    return a*jiec(a-1)
print(jiec(3))

5. 局部变量和全局变量

'''
全局变量不在函数体内或者不在循环体内的
不可变类型的全局变量修改需要加上global,注意不能再global前使用全局变量
'''

s = 'hello'
def test():
     # s = 'haha'
    # print(s)
    global s
    s = 'python'
    print(s)

def test1():
    print(s)

test()
test1()

6.引用

'''
# 引用就是数据在内存中存储时的内存编号
# 通过  id() 函数可以得到数据在内存中的地址
'''
print(id(1))
print(id(1))
print(id(1))

a = 1
print(id(1))
print(id(a))

b = a
print(id(b))

a = 2
print('-----------')
print(id(1))
print(id(2))
print(id(a))
print(id(b))


'''
可变对象的修改
'''

c_l = []

print(id(c_l))

c_l.append(1)
print(id(c_l))

7.函数的默认值参数

关键字参数就是输入实参的时候指定
默认值定义形参的时候给与一个默认值,注意默认值右边不能有其他别的参数出现
# 关键字参数
def test2(a,b):
    print(a)
    for c in b:
        print(c)
test2(1,'hello')
# test2('hello',2)  TypeError: 'int' object is not iterable
test2(b='hello',a=1)



def test(a=0,b=0):
    print(a+b)
test()
test(1)
test(1,2)
# 默认值的右侧不能出现其他的参数
def test1(a,b=0,c=0):
    print(a+b+c)
test1(2)
test1(2,2,2)

8.不定长位置参数和关键字参数

*args不定长位置参数,接收的参数会形成一个元组输出
**kwargs不定长关键字参数,类型dict
def test(*args):
    print(args)
    for c in args:
        print(c)
test()
test(1,2,3)


# 不定长关键字参数
def test2(**kwargs):
    print(kwargs)
    print(type(kwargs))
test2()
test2(a=1,b=2)

9.混合参数的写法

def test(a,b,c,*args,e=1,**kwargs):
    print(a,b,c)
    print(args)
    print(e)
    print(kwargs)
# test(1,2,3)
test(1,2,3,1,2,1,2,1,u=2,v=5)

10.可变参数的二次传递

def fun(a,*args,**kwargs):
    print(a)
    print(args)
    print(*args)
    dis(*args)  #手动解包
    print(kwargs)


def dis(a,b,c,d):
    print(a,b,c,d)

fun(1,4,5,6,7,c=3,d=4)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 20:45:38  更:2022-03-21 20:46:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:38:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码