python基础语法3

python基础语法3

了解整体内容可以从基础语法1开始。本篇主要内容:函数。


  1. 定义函数,使用def关键字,语句块是缩进来体现的。
def printstr(str):
    print(str)

if __name__ == '__main__':
    printstr("hello")
    # 其他名称指向函数对象,用新名称访问也可以
    newPrint=printstr
    newPrint("newHello")
打印效果:
hello
newHello
  1. 返回值用return,没有返回值的函数返回值为None。
def printstr(str):
    print(str)

def returnStr(str):
    return str

if __name__ == '__main__':
    print(printstr("hello"))
    print(returnStr("return"))
打印效果:
hello
None
return

  1. 参数:默认值、列表
i=1
# 这里的参数,num需要传值,msg的默认值是hello,
# c的默认值是变量,l的默认值是列表,但只有第一次调用是空列表,后续会随着调用次数改变,
# m设置为none可以解决l的次数叠加问题
def function_demo(num, msg='hello', c=i,l=[],m=None):
    print(num,msg,c)
    l.append(c)
    print(l)
    if m is None:
        m=[]
    m.append(c)
    print(m)

if __name__ == '__main__':
    function_demo(1)
    # msg的值可以改变
    function_demo(2,msg='hello world!')
打印效果:
1 hello 1
[1]
[1]
2 hello world! 1
[1, 1]
[1]
  1. 特殊参数
# /之前的是仅限位置形参
# /后可以是 位置或关键字 或 仅限关键字 形参
# *之后是仅限关键字形参
def standard_arg(arg):
    print(arg)
def pos_only_arg(arg, /):
    print(arg)
def kwd_only_arg(*, arg):
    print(arg)
def combined_example(pos_only, /, standard, *, kwd_only):
    print(pos_only, standard, kwd_only)

if __name__ == '__main__':
    combined_example(1,2,kwd_only='3')

打印效果:
1 2 3
  1. 任意实参列表
# *args是可变数量的参数,一般放到最后,如果后面加参数,那么需要是关键字参数
def concat(type, *args, sep="/"):
    print(type,sep.join(args))

if __name__ == '__main__':
    concat('水果','苹果','香蕉','西瓜')
    concat('星球','地球','水星','木星', sep='.')
打印效果:
水果 苹果/香蕉/西瓜
星球 地球.水星.木星
  1. 解包实参列表
def printContent(name,status):
    print(name,status)

def printf():
    args=[2,5]
    #用 * 操作符把实参从列表或元组解包
    print(list(range(*args)))

    # 字典可以用 ** 操作符传递关键字参数
    d = {"name": "水果", "status": "开心"}
    printContent(**d)
打印效果:
[2, 3, 4]
水果 开心
  1. 文档字符串
def my_function():
    """你好!

    我很好.
    """
    pass
打印效果:
你好!

    我很好.

虽然一枚小小码农,不过也在向阳努力着,本人在同步做读书故事的公众号,欢迎大家关注【彩辰故事】,谢谢支持!~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值