一、数据类型:
1、Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。
2、对变量赋值x = y
是把变量x
指向真正的对象,该对象是变量y
所指向的。随后对变量y
的赋值不影响变量x
的指向。
注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648
-2147483647
。
3、Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf
(无限大)。
二、函数:
在Python中,定义一个函数要使用def
语句,依次写出函数名、括号、括号中的参数和冒号:
,然后,在缩进块中编写函数体,函数的返回值用return
语句返回。
1、定义函数时,需要确定函数名和参数个数;
2、如果有必要,可以先对参数的数据类型做检查;
3、函数体内部可以用return
随时返回函数结果;
4、函数执行完毕也没有return
语句时,自动return None
。
5、函数可以同时返回多个值,但其实就是一个tuple。
三、参数
1、Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。
默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!
2、要注意定义可变参数和关键字参数的语法:
*args
是可变参数,args接收的是一个tuple;
**kw
是关键字参数,kw接收的是一个dict。
以及调用函数时如何传入可变参数和关键字参数的语法:
可变参数既可以直接传入:func(1, 2, 3)
,又可以先组装list或tuple,再通过*args
传入:func(*(1, 2, 3))
;
关键字参数既可以直接传入:func(a=1, b=2)
,又可以先组装dict,再通过**kw
传入:func(**{'a': 1, 'b': 2})
。
3、使用*args
和**kw
是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
4、命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。
5、定义命名的关键字参数在没有可变参数的情况下不要忘了写分隔符*
,否则定义的将是位置参数。