python06关于函数的好奇心

身为魔法师,要一直保持着一份好奇心,没有好奇心的魔法师不会成为优秀的魔法师,我是这样认为的。

Int(), float(), str(),意思是在( )里分别放入整数,浮点数,和字符。这个是魔法的元素,可以理解。
但是像range( )的range是怎么来的?( )里面的数据放置格式,又怎么来的?
还有input( ), print( ), remove( ), append( ),keys( ),sort( ), sorted( )……这些都怎么来的?
那还要从python魔法书里找答案了。

Python里有一个叫def 的咒语,那是相当强大,强大到什么程度?用好了,就可以成为低阶法师中的佼佼者….

def 魔法棒( ):
    print("这是魔法棒")
魔法棒( )

运行结果是:

这是魔法棒

Def 是什么?在python中,def 就是创建函数的关键字,在魔法世界,我可以理解成def就是能制作魔法道具的锤子咒语啊,这次运行魔法棒( )就直接显示了内容。

print( )之前说过就是有功能的魔法工具,还有keys( ),sort( ),append( )……这些都是魔法道具,都是高阶,大神级魔法师制作出来可以使用的,我们也可以通过def 来制作自己的小魔法道具。

也就是说,如果之前我们是赤手空拳的新手村魔法师,学好了def我们就是可以拥有自己小道具的魔法师了。

def 魔法棒(宝石):
    print("这是魔法棒",end=" ")
    print(宝石,end=' ')
    print("制作的")

魔法棒("蓝宝石")
魔法棒("绿宝石")

结果显示是:

这是魔法棒 蓝宝石 制作的
这是魔法棒 绿宝石 制作的

制作这些小东西,不难啊!

作为一个服装工厂的老板,我可以用魔法棒算一下衣服的出厂价呢

def 衣服(设计,打版,车板,面料辅料,大货数量,人工费):
    样衣价格 = 设计+打版+车板+面料辅料
    成衣 = (面料辅料*大货数量+样衣价格)/大货数量+人工费
    return 成衣  # 注意return返回了一个值

print("一件衣服出厂价",衣服(100,150,150,100,100,40))

显示是:

一件衣服出厂价 145.0

这个结果意味什么?意味如果一件衣服145让我接单做,我做不了,因为没有算场地费,器材维护费这些。

跑偏了,这个结果应该是意味着,如果想熟练的运用,衣服( )这个道具,就要熟悉( )里的是什么元素,布局及用法。Def制作的魔法棒可以理解成,把它镶嵌不同的元素,它就产生不同的魔法属性。

def 衣服(设计,打版,车板,面料辅料,大货数量,人工费):
    样衣价格 = 设计+打版+车板+面料辅料
    print("样衣价格:",样衣价格)
    成衣 = (面料辅料*大货数量+样衣价格)/大货数量+人工费
    return 成衣

设计费 = float(input("设计费:"))
大货数量 = int(input("大货数量:"))
print("一件衣服出厂价",衣服(设计费,150,150,100,大货数量,40))

结果就是:

设计费:100
大货数量:100
样衣价格: 500.0
一件衣服出厂价 145.0

我做这个衣服计算魔法棒的时候设计了六个坑位,这六个坑位名字叫设计,打版……坑位不起魔法作用,真正起作用的是坑位里的宝石本身,比如设计坑位对应的设计费int()或float()……

想要熟练的运用其他魔法师生成的道具,就要知道这个道具的元素属性,坑位布局,用法。其实说难也难,说不难也不难,毕竟python是很友好的魔法书,里面的魔法道具大部分都很有规律。

def 衣服(设计,打版,车板,面料辅料,大货数量,人工费):
    样衣价格 = 设计+打版+车板+面料辅料
    print("样衣价格:",样衣价格)
    成衣 = (面料辅料*大货数量+样衣价格)/大货数量+人工费
    return 成衣

设计费 = float(input("设计费:"))
大货数量 = int(input("大货数量:"))
样衣价格 = float(input("客人要求样衣价格:"))
print("一件衣服出厂价",衣服(设计费,150,150,100,大货数量,40))
print("客户的样衣价格:",样衣价格)

有的客人比较小气,样衣想给个固定的价格,我当时想:

设计费:100
大货数量:100
客人要求样衣价格:400
样衣价格: 500.0
一件衣服出厂价 145.0
客户的样衣价格: 400.0

他有他的报价,我的价格还按我的来。魔法棒就知道我的心意,所以它还是按我的价格显示。
魔法棒外面的元素,无法对魔法棒形成干涉….

def 衣服(设计,打版,车板,面料辅料,大货数量,人工费):
    global 样衣价格  # 上面的没有这句
    样衣价格 = 设计+打版+车板+面料辅料
    print("样衣价格:",样衣价格)
    成衣 = (面料辅料*大货数量+样衣价格)/大货数量+人工费
    return 成衣

设计费 = float(input("设计费:"))
大货数量 = int(input("大货数量:"))
样衣价格 = float(input("客人要求样衣价格:"))
print("一件衣服出厂价",衣服(设计费,150,150,100,大货数量,40))
print("客户的样衣价格:",样衣价格)

我加了global有什么用?

设计费:100
大货数量:100
客人要求样衣价格:400
样衣价格: 500.0
一件衣服出厂价 145.0
客户的样衣价格: 500.0

这货能强行改变客户的意思啊。就是魔法棒里面的元素都开始能影响外面同名的元素了,这个比较可怕了……好奇害死猫,global这东西轻易不能用啊……

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值