程序员用代码写代码的玩法你知道多少?

49 篇文章 1 订阅
21 篇文章 0 订阅

前言

有时候,我们需要使用它Python写很多.重复代码,但是手敲太累了,所以要用Python生成这些代码(字符串形式)eval或exec将字符串作为代码执行。
0.写128个input:

input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input(input())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

用代码写代码:

用代码写代码:

eval('input('*128+')'*128)

效果:
在这里插入图片描述
但可以用代码写代码。

eval('[['+','.join(f'a{i}' for i in range(8))+'] '+' '.join(f'for a{j} in range(2)' for j in range(8))+']')

2、定义1100个函数,除最后一个外,每个函数都调用下一个函数。

def f0():
    f1()
def f1():
    f2()
def f2():
    f3()
def f3():
    f4()
def f4():
    f5()
def f5():
    f6()

按这个规律(一直写到手抽筋),直到f1099。

def f1099():
    f1100()

然后加上:

def f1100():
    print('33HCY')

此时运行一下f0试试:点击查看图片 点击查看图片 结果递归报错了。

可是像上面那样输入代码太费劲了,我们可以用一个表达式生成上面的代码。

先看表达式的效果:点击查看图片

代码:

exec('\n'.join([f'def f{i}():\n    f{i+1}()' for i in range(1100)]))

读者福利:如果大家对网络安全/黑客技术感兴趣,这套学习资料一定对你有用

1️⃣零基础入门

① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

img

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

img

因篇幅有限,仅展示部分资料

2️⃣视频配套资料&国内外网安书籍、文档

① 文档和书籍资料

img

② 黑客技术

img

因篇幅有限,仅展示部分资料

3️⃣网络安全源码合集+工具包

img

4️⃣网络安全面试题

面试题

资料领取

上述这份完整版的网络安全学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 即可免费领取↓↓↓
或者

点此链接】领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值