您的位置:首页 > Web前端 > JavaScript

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

2017-03-28 19:13 330 查看
定义函数

在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


传递多个属性

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);


命名关键字参数
特点
在于必须传入参数名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python