牛骨文教育服务平台(让学习变的简单)
博文笔记

Python和JavaScript在语法上的区别[2]

创建时间:2017-03-28 投稿人: 浏览次数:515

定义函数

在Js中声明函数是通过function 关键字,在python中,是通过def关键字,def的英文全称为define,在函数的块级中,Js是通过{}符合进行打包,而python则是使用进行声明。

如:

def move(x,y):
         if x>0 && y>0:
            return 100;

可变参数

在Python中有一个特殊概念,叫可变参数。比起普通参数,可变参数的前缀多了一个*符号。比如:def move( *x );这样这个函数在参数传递中就不存在参数个数的限制问题,既可以传递超过一个以上的参数,也可以不传参数。

name = "wangyu";
age = 30
sum = 20000
sch = "NO1"
def show(name,age,*others):  //比如我们想要声明一个构造函数,但是我们不知道后续等添加多少属性。就使用可变参数。
    print(name,age,others);//这个other是一个tuple (xxx,xxx)形式;

show(name,age,other,sch)

**kw 关键字参数

这个概念是JS里完全没有的,但是在python编程中作用非常大。

我们可以分成几种情况来看:
1. 只传必选参数;

   def Person(name,age,**kw):
        print(name,age,kw);

     Person("zw",30);
   //kw输出结果为"zw",30
  1. 传递多个属性
   def Person(name,age,**kw):
       print(name,age,kw);

  Person("zw",30,start="anhui",end="shanghai");
   //kw输出结果为dict {start:"anhui",end:"shanghai"}

当然我们也可以自定义**kw,当我们希望传递一个dict给到函数时,我们可以将关键字自选参数写成**自定义参数名。而函数内部kw得到的就是自定义参数dict拷贝

命名关键字参数

命名关键字参数和关键字kw参数的区别在于*只有一个。比如之接受city,friend这两个关键字参数,

def Person(name,*,city,friend):
        print(name,city,friend);

命名关键字参数特点在于必须传入参数名。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。