Python学习(二)

作者: songcmic | 来源:发表于2017-10-13 21:42 被阅读45次
pythonpython
接着上次的学习继续回顾总结

原文

函数

python内置了很多函数可以直接被调用,可以从官方文档查阅内置的函数.

函数调用

调用abs()函数

>>> abs(100)
100
>>> abs(-20)
20
>>> abs(12.34)
12.34

函数参数如果不对则会报错

比较函数cmp(x, y),分三种情况:

  • x < y 则 return -1
  • x = y 则 return 0
  • x > y 则 return 1
>>> cmp(1, 2)
-1
>>> cmp(2, 1)
1
>>> cmp(3, 3)
0

python和C/C++一样都可以进行类型强制转换

>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> unicode(100)
u'100'
>>> bool(1)
True
>>> bool('')
False

函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”:

>>> a = abs # 变量a指向abs函数
>>> a(-1) # 所以也可以通过a调用abs函数
1

定义函数

python中使用def来定义函数,python的函数定义格式和C/C++不太一样,不在有大括号,而是通过缩进来了表示代码块

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

函数中如果没有定义返回语句则会默认返回None

空函数
如果一个函数还没想好怎么写,那么函数体中可以用pass占位符来表示

def nop():
    pass

返回多个值

import math
def move(x, y, step, angle = 0):
    nx = x + step * math.cos(angle)
    ny = y - step * math.sin(angle)
    return nx, ny
>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print x, y
151.961524227 70.0

函数的参数

默认参数

def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s
>>> power(5)
25
>>> power(5, 2)
25
def enroll(name, gender, age=6, city='Beijing'):
    print 'name:', name
    print 'gender:', gender
    print 'age:', age
    print 'city:', city
>>> enroll('Sarah', 'F')
Student:
name: Sarah
gender: F
age: 6
city: Beijing

可变参数
在python中可以使用*运算符来表示

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum
>>> calc(1, 2)
5
>>> calc()
0

关键字参数
在python中使用**来表示关键字参数

def person(name, age, **kw):
    print 'name:', name, 'age:', age, 'other:', kw
>>> person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'}
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}

参数组合

def func(a, b, c = 0, *args, **kw):
    print 'a=',a,'b=',b,'c=',c,'args=',args,'kw=',kw

如果调用函数是需要使用list或者dict,可以使用*

>>> args = (1, 2, 3, 4)
>>> kw = {'x': 99}
>>> func(*args, **kw)
a = 1 b = 2 c = 3 args = (4,) kw = {'x': 99}

原文

相关文章

网友评论

    本文标题:Python学习(二)

    本文链接:https://www.haomeiwen.com/subject/zrytuxtx.html