【python基础】四、python函数 可变参数 *args**kwargs

本文深入探讨Python的基础概念,包括包的管理、函数定义与调用、调试技巧及书写规范PEP8。详细解析了函数参数的使用,如可变参数、默认值参数和关键字参数,并介绍了如何通过*args和**kwargs进行参数传递。此外,还讲解了全局变量的使用原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

笔记

基础概念

python包 packages.py

  • 项目:
    • 包1
      • xx1.py
      • xx2.py
    • 包2
      • xx1.py
      • xx2.py

函数.py

def 函数名([参数, 参数, ]):
    函数体

调试

  1. 先打断点
  2. shift + F9
  3. step over (F8)
  4. step into F7
  5. step into mycode
  6. force step into
  7. stp out
  8. run to cursor
  9. evalute expression

书写规范 PEP8

判断类型

type 只能找出是 什么类型,不好判断
isinstance()

isinstance(3, int)

函数 可变参数

def add(*args):
    print(args)

# 参数个数不确定
add()  # 输出空 元组 ()
add(1)
add('a', 2, 'love', [1, 2])

‘*’ 拆装包!
*args = # 底层准备好容器(), 等待装包

  • 可变参数 和 固定参数 同时存在:
    • 可变参数往后放, 类比 元组 * 赋值
def add(name, age, *args):
   s = int(0)
   for i in args:
       s += i
   print(name, 'age is', age, 'sum is', s)


add('Jam', 23, 1, 2, 3, 4)
带有 默认值 参数
def func(a,b,c=0):
    pass

关键字参数
def func(**kwargs):     # key-word argument
    # 函数 以字典形式 存储 
    pass
    
func()
func(a=1, b=2, c=3)  # 必须 k= w 格式赋值 

也就是说:一颗星 * 默认生成元组来存储
两颗星号 ** 默认 字典存储

  • 如何传入字典: 拆包 - 装包
func({'a': 'py', 'b': 'c++'})   
  • 为什么报错:
    • 因为没有按照 k=v 格式传入
func(**{'a': 'py', 'b': 'c++'})
  • 为什么不报错:

    • 首先字典的拆包: k:v
    • 然后 传入 装包
  • 总汇

def bb(a, b, *c, **d):
    print(a, b, c, d)

函数 返回值

  • return
    • 有返回值,必须有接收赋值
    • 多个接收
def func_r():
    return 1,2,3
    
a, b, c = func_r()
全局变量

不可变的 全局变量 在函数里
可直接获取,但是 修改 需声明
(可变元素的修改不需要)

def func():
    global xxx
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值