身为魔法师,要一直保持着一份好奇心,没有好奇心的魔法师不会成为优秀的魔法师,我是这样认为的。
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这东西轻易不能用啊……