1,逻辑运算php
python中的逻辑运算符对比php而言,除了少了一个“!”以外,其它的“&”,“|”,and,or,not 都和PHP中的大体相似,什么叫大体相似?
java
由于,“&&”和“&”大体相似,“||”和“|”大体相似python
就是这么任性,你拦不住!编程
用一个简单的例子,大概的说明一下,同时 请记住:判断一个变量的数据类型的方法,可使用 isinstance编程语言
经过上面的代码示例,还引出一个问题,那就是 “布尔”类型的 “True”和“False”,使用 isinstance 去判断的时候实际上是属于 “int”类型的,就像是下面这样:函数
可是,要注意,若是是经过 type 来比较,那么它们必定是不一样的!学习
补充说明:在python中是没有“switch”的哦 ^_^测试
2,函数spa
在各类编程语言中,关于函数大体能够包括这么多内容:定义,调用,参数,返回值it
固然了,python中是不会搞特殊化的,该有的必需要有,不应有的,额。。。。这个也能够有
废话很少说,咱们画(截)个图来看看:
一个简单的例子,就说明了python中关于函数的基本知识,这些也是PHP中函数的知识。
你看,是否是也很容易学习呢!
python的函数,在PHP函数的常见功能上,增长了一些特性,好比说:返回多个值 与 可变参数
3,返回多个值
返回多个值,在PHP的函数中固然能够实现,可是它的限制是在 return 后面只能跟一个返回值变量,也就是说不可以写成这样:return a,b
可是在python中是容许你这么干的,就像是这样,果然是任性( ⊙ o ⊙ )啊!
经过上面程序示例输出的结果,你有没有发现,其实所谓的“函数返回多个值”的本质是什么?
你彻底能够理解成,python在内部针对return作了手脚,当你给它多个值得时候,return会帮你把这个多个值“包装”成一个 tuple,而后给你返回这个tuple,这样就好像是能够返回多个值了。
理解了这句话, 你就知道为何,当python中的函数返回多个值得时候,咱们须要这么来接收了:
你看,是否是也很容易想到呢?
问一个问题:python返回多个值为何会包装成tuple,而不是集合或者列表?
O(∩_∩)O哈!思考一下吧 ^_^
4,可变参数
若是你有过关于java程序的自动装箱,自动拆箱的编程经验,那么对于python的可变参数就是手到擒来的事情。
对于可变参数,有一个不错的测试案例,以下:
要求,定义一个函数,能够请求任意几个值的和,而且返回。
你怎么作?
固然,解决方案是不少的,可是如今咱们用函数的可变参数来实现,就像下面这样:
你看,是否是就实现了呢?
如今,你能够传递任意个参数,而后它就会帮你求出它们的和。
正如程序中看到的同样,能够针对可变参数名“args”来作循环遍历,那你想不想知道“args”的数据类型是什么?
有没有很清楚?
再结合上面的返回多个值,一块儿想想,是否是明白了呢?
那么,这个跟刚开始讲的java的拆箱和装箱有什么异同呢?
其实,在python中所谓的可变参数,就是当你传递多个参数的时候,python能够经过关键字“*”(假设能够这么看),把你的多个参数自动打包成一个tuple,而后传递到函数内部,当你要返回多个参数的时候,也是这样的一个过程。不过是一个传入,一个传出罢了!
若是,你仍是有一点疑惑,那么看看下面的在python中称为关键字参数的东西,或许你就懂了。
5,关键字参数
什么是关键字参数,粗鲁一点的说,就是你能够给你的参数定义一个名字了。
你看,你能够给你的参数定义名字,同时还须要给它指定具体的值,那你是否是有想到python中的一种数据类型呢?
对,就是字典!
经过上面的对比,你大概就可以了解了。
在python中,若是你准备传递多个参数,有两种方案,一是采用“*”,自动打包成元组类型,另一种是采用“**”,自动打包成字典类型。
两种方案各有各的优劣,能够根据不一样的需求进行选择!
若是你准备让你的函数返回多个值,那么必定要记住python会自动帮你打包成元组类型!
那这时你可能就在想,若是我想让python帮我打包成字典类型该怎么作呢?那这个问题,仍是不问的好了吧!
6,补充
综合上面“接近抽象”的解释,对于python的函数有了一个大概的了解,其中最重要的一点是关于python函数的参数。
那么这里补充,也是要告诉你们,python中的参数,我么能够人为的将其划分红四类:必选参数,可选参数,可变参数,关键字参数。
那么前两类在其它的编程语言中,好比说PHP,一样适用,重点是后面两种。那关于后面两种参数的使用,你能够联想到java中的自动拆箱、装箱机制,而后记住它们的操做符“*”和“**”就可以熟练运用了!
固然了,这四类参数在同一个函数中是能够混用的,可是顺序必定要是那个顺序哟!
------------------------------------------华丽的分割线---------------------------------------------
写这么多,还挺累