DiveIntoPython读书杂想

当定义一个函数时,任何一门语言都需要一种机制来确定函数的一些基本性质,比如:
返回值类型(可选,动态语言是没有类型的,还记得吗?) 函数名 函数参数 函数的边界(如何确定函数的开始和结束) 如何返回

C/C++/Java的做法:
int foo(double d)
{
    return 3;
}

lua的做法:
function foo(d)
    return 3
end

perl的做法:
sub foo {
3; #3是返回值
}
(the way perl uses is obscure....)

python的做法:
def Foo(params):
    print foo
 

前天在lua也遇到了 and 和 or的困扰

'a' and 'b' => 'b'
'' and 'b' => ''
其实很简单,返回的是这个式子结束处理时的那个值。
比如第一个式子,'a'是True,那么去判断'b'是不是True,不管是不是,它是最后一个被操作的值,所以不管它的值是不是True,
都没关系,返回的就是它,同理,对于第二个式子,因为''是False, and操作符要求的是两边都是True,因此此时不用去判断'b'了,
因此''是最后一个被操作的值,因此返回''.


lua认为nil和false是假,其他都是真

而python认为0, '', [](空list), {}(空字典), ()(空tuple)都是假,其他都是真,另外注意python的真假关键字都是首字母大写的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值