利用Y-组合子改写python函数

本文介绍了Y-组合子的概念,并通过示例展示如何使用Y-组合子改写Python函数,尽管两者功能相同。
摘要由CSDN通过智能技术生成

Y-组合子是个啥东西以后再说。
现在给出两个函数,但是他们有相同的输出。

def print_grid(x_cell,y_cell,length):
    s = "+"+("-"*(length-2)+"+")*x_cell
    k = ("|"+(" "*(length-2)+"|")*x_cell+"\n")*(length-2)+s
    if y_cell==0: return print(s)
    print_grid(x_cell,y_cell-
改写函数是指在定义函数时,使用相同的函数名但是修改了函数的功能或者参数。这样可以根据需要来定制函数的行为。下面是一些关于改写函数的例和用法: 1. 改变函数的默认参数值:默认参数值只在函数定义阶段被赋值一次,在函数定义之后的改变对默认参数没有影响。例如: ```python m = 333 def func(x, y=m): # y的默认值为333 print(x, y) m = 44444 func(1) # 输出为1 333 ``` 2. 重写数据转换构造函数:可以在类中重写`__repr__()`和`__int__()`函数来改变数据类型的转换行为。例如: ```python class MyNumber: def __init__(self, value): self.data = value def __repr__(self): return 'MyNumber(%d)' % self.data def __int__(self): return self.data n1 = MyNumber(100) x = int(n1) print(n1) # 输出为MyNumber(100) print(bool(n1)) # 输出为True n2 = MyNumber(0) print(bool(n2)) # 输出为True ``` 以上是关于python改写函数的一些示例和用法。改写函数可以通过修改函数的参数或者功能来满足不同的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [012.Python之文件修改与函数的基本使用](https://blog.csdn.net/m0_49141258/article/details/107423463)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Python函数的重写](https://blog.csdn.net/py_1995/article/details/84139141)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值