python为什么代码量少?
高级数据结构使你可以在一个单独语句中表达出很复杂的操作。
语句的组织依赖于缩进而不是begin/end块。不需要申明变量或参数。
python的解释器是C语言写的,那么,python是可以集成进由C写的程序中的。
python跟bash一样可以作为脚本来调用:
#! /usr/bin/env python
$ chmod +x myscript.py
一切因为它有解释器。
一、python的函数
>>> def square(x):
'cal the square of the number'
return x*x
>>> square.__doc__
'cal the square of the number'
>>> help(square)
Help on function square in module __main__:
square(x)
cal the square of the number
>>>
C语言的函数形参都是位置参数,即位置很重要。
python有关键字参数,就是说函数形参的名称很重要,是传值的依据。
参数可以带默认值,可以传全部或部分参数。
收集参数(一个*是收集位置参数,**是收集关键字参数)
>>> def pp(*var):
print var
>>> pp('test')
('test',)
>>> pp(1,2,3)
(1, 2, 3) //返回元组(tuple) or list(列表)
>>> pp()
()
>>>
>>> def pp(*var):
print (var)
>>> pp('test')
('test',)
>>> pp(1,2,3)
(1, 2, 3)
>>> pp()
()
>>> def pp2(**var):
print (var)
>>> pp2(x=1,y=2,z=3)
{'x': 1, 'y': 2, 'z': 3} //返回字典dict。
这就是说,函数通过收集参数转化为list和字典dict。
>>> pp2(x=1,y=2,z=3)
{'x': 1, 'y': 2, 'z': 3}
反转操作:直接向函数传list参数进去:
>>> def add(x,y):
return x+y
>>> param=(1,2)
>>> add(*param)
3
>>>
直接向函数传dict参数进去:
>>> def hello_3(greeting='hello',name='world'):
print ('%s,%s' % (greeting,name))
>>> hello_3()
hello,world
>>> hello_3(name='Tan')
hello,Tan
>>> param={'name':'Tan','greeting':'Well met'}
>>> hello_3(**param)
Well met,Tan
>>>
面向对象(object)的学习,作为一门高级的强大的语言,
python必须是支持面向对象编程。
多态,就是同样的一个方法,表现为多种形态:
1、比如多个不同对象,如多种商品,但都支持getPrice()方法。
2、同样是+号,可以支持1+2,也可以支持"hello"+"world"
self指针,指向对象本身,有点象C++ 的this指针。