python函数编写基础及多态

python函数是对python语句的封装,到达一次编写,多处、多次运行的目的。

1.1 def

用法

def 函数名(参数1,参数2,...,参数n):
    函数主体语句
    return

描述

def语句末尾跟冒号结束

函数主体语句需要缩进

参数可以为0或1或多个

return语句返回值,如果没有return则返回None。

1.2 def函数定义和调用

python函数的def语句在模块导入时会运行,将函数对象赋值给函数名,函数主体只有在函数调用时执行。

def语句可嵌套在if语句中。

python函数名可以赋值给变量。

python通过函数名()来调用函数。括号()为调用表达式。

示例

'''
文件名:functest.py
'''
def nestdef(test):
    if test:
        def ftest(name):
            print('ftest')
            print('hello ',name)
    else:
        def ftest(name):
            print('notest')
            print('hello ',name)
    return ftest
# def函数嵌套以及赋值
>>> path=r'E:\documents\F盘'
>>> import os
>>> os.chdir(path)
>>> from functest import nestdef
>>> S='梯阅线条'
>>> f0=nestdef(0)
>>> f1=nestdef(1)
>>> f0(S)
notest
hello  梯阅线条
>>> f1(S)
ftest
hello  梯阅线条
>>> f3=f1
>>> f3(S)
ftest
hello  梯阅线条

1.3 python多态

python多态是相同一个操作的效果取决于被操作对象的类型,如果被操作对象不支持则自动抛错。

比如,*操作符对于数字为乘法,对于字符为重复。

示例

# *操作符,数字对应乘法,字符对应重复
>>> def times(x,y):
    return x*y

>>> times(2,3)
6
>>> times('tyxt',2)
'tyxttyxt'
# 查找序列的交集
>>> def intersects(seq1,seq2):
    return [x for x in seq1 if x in seq2]

>>> S1,S2='tyxt','txt'
>>> intersects(S1,S2)
['t', 'x', 't']
>>> intersects((1,2,3),[2,3,5,6,7])
[2, 3]

更多内容参考python知识分享或软件测试开发目录。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值