Python学习笔记-第三天

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# abs
print abs(-10)

# compare function. return -1 0 1
print cmp(1, 2)

# 数据类型转换
print int('123')
print int(12.2)
print float('12.23')
print str(1.23)
print unicode(100)
print bool(1)
print bool('')

# 给函数起别名
a = abs
print a(-12)


# define function
def my_abs(x):
    if x > 0:
        return x
    else:
        return -x

print my_abs(-1)

# 如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。
# return None可以简写为return。


# 空函数 pass语句
def empty():
    pass
# 判断条件中的pass
# if age > 10:
#   pass


# 参数校验函数 & 异常
def my_valid_function(num):
    if not isinstance(num, (int, float)):
        raise TypeError('bad input type')
    if num > 0:
        return num
    else:
        return -num

print my_valid_function(1)


# 返回多个结果 返回的是一个tuple类型
def return_mutli_res():
    return 1, 2
print return_mutli_res()
x, y = return_mutli_res()
print x
print y


# 默认参数
def def_parameter_function(x, y=2):
    return x+y

print def_parameter_function(3)
print def_parameter_function(3, 3)


# 可变参数
def variable_parameter_function(*x):
    sum = 0
    for o in x:
        sum = sum + o
    return sum

print variable_parameter_function(1, 2, 3, 4, 5)
# list 作为可变参数
print variable_parameter_function(*[0, 1, 3])


# 关键字参数 可作为dict使用
def person(name, age, **kw):
    print 'name:', name, 'age:', age, 'other:', kw
kw = {'city': 'Beijing', 'job': 'Engineer'}
person('Jack', 24, **kw)

# 参数定义的顺序:参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。


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

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

# 所以,对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的。


# 递归调用
def fact(n):
    if n == 1:
        return 1
    return n * fact(n - 1)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本数据类型 接昨天的内容 Tuple(元组) 元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组...
    Jaesoon阅读 359评论 0 1
  • 操作目的:使用pip安装python第三方模块 操作尝试:在Python的解释环境IDLE中输入 提示错误: 错误...
    芝士夹心阅读 596评论 0 1
  • 九九聊家庭教育D12 妈妈的宁静,是如水的教育。 上善若水,其甘下于人,故能海纳百川。 做妈妈的要懂得守柔之智。...
    范慧璟阅读 200评论 0 0
  • 做蛋糕剩的大半个苹果,做菜剩的小半个柠檬,捏一撮肉桂粉,放一粒小青柑,火上煮煮,便成了落口酸甜,回甘微苦的水果茶,...
    品清阅读 299评论 0 0