Python学习之路——函数

一、Python2.X内置函数表:

 

注:以上为pyton2.X内置函数,官方网址:https://docs.python.org/2/library/functions.html

二、Python3.X内置函数表:

注:以上为pyton3.X内置函数,官方网址:https://docs.python.org/3.5/library/functions.html

三、自定义函数:

def 函数名(参数):

    ...

  函数体
    ...
  • def:是函数的关键字,告诉python解释器这是一个函数。
  • 函数名:这个函数的名称,代码中调用此函数的标识。
  • 函数体:函数中进行一些逻辑运算,例如:if判断,for循环,函数等。
  • 参数:为此函数体提供数据
  • 返回值:当函数执行完毕后,可以给调用者返回数据。例:return。

1、函数返回值:

def x():
    if 1 < 0:
        return True
    else:
        return False

if x():
    print('1小于0')
else:
    print('1大于0')
以上实例运行后反回结果结果为:
1大于0
函数反回值(return)

2、向函数传递参数(传参):

函数的参数分为:

  • 普通参数
  • 默认参数
  • 动态参数

(1)、普通参数:

def x(name):
    print(name)

x:是函数名
name:是x这个函数的形式参数(也叫形参)

x('Earl')

Earl是x函数的实际参数(也叫实参)

以上实例运行后反回结果结果为:
Earl
普通参数

(2)、默认参数:

def x(name, age=20):
    print('name:%s,age:%s' %(name,age))

x:函数名。
name:为x函数的形式参数。
age:为x函数的默认参数。

x('Earl')
以上调用函数为使用默认参数,运行后反回结果结果为:
name:Earl,age:20


x('Earl', 26)
以上调用函数为未使用默认参数,运行后反回结果结果为:
name:Earl,age:26
默认参数

(3)动态参数:

def x(*args):
    print(args)

以下是第一种调用方式:
x(1, 2, 3, 'name',)

实例运行后反回结果结果为:
(1, 2, 3, 'name')

以下是第二种调用方式:
lis = [1, 2, 3, 'name', 'age',]
x(*lis)

实例运行后反回结果结果为:
(1, 2, 3, 'name', 'age')
动态参数一
def x(**kwargs):
    print(kwargs)

以下是第一种执行方式:
x(name='Earl', age=25)

以上实例运行后反回结果结果为:
{'age': 25, 'name': 'Earl'}

以下是第二种执行方式:
dic = {'name': 'Earl', 'age': 25, 'address': 'beijing'}
x(**dic)

以上实例运行后反回结果结果为:
{'address': 'beijing', 'age': 25, 'name': 'Earl'}
动态参数二
print('以上实例运行后反回结果结果为:')
def x(*args, **kwargs):
    print(args,kwargs)

以下为第一种调用方式:
x([33, 44, 55], name='Earl',agg=24)
以上实例运行后反回结果结果为:
([33, 44, 55],) {'agg': 24, 'name': 'Earl'}


以下为第二种调用方式:
lis = [1, 2, 3, 'name']
dic = {'name': 'Earl', 'age': 25, 'address': 'beijing'}
x(*lis, **dic)
以上实例运行后反回结果结果为:
(1, 2, 3, 'name') {'address': 'beijing', 'age': 25, 'name': 'Earl'}
动态惨数三
发邮件实例

四、lambda表达式:

学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即:

三元运算:

# 普通条件语句
if 1 == 1:
    name = 'Earl'
else:
    name = 'tom'
print('普通判断:%s' %name)

# 三元运算
name = 'Earl' if 1 == 1 else 'tom'
print('三元运算:%s' %name)

以上实例运行后反回结果结果为:
普通判断:Earl
三元运算:Earl
三元运算

对于简单的函数,也存在一种简便的表示方式,即:

lambda表达式:

# 定义函数(普通方式)
def x(arg):
    return arg + 1

# 执行函数
re = x(100)
print(re)

以上实例运行后反回结果结果为:
101

# 定义函数(lambda表达式)
x = lambda arg: arg + 1

# 执行函数
re = x(100)
print(re)

以上实例运行后反回结果结果为:
101
lambda表达式

 五、map函数:

遍历序列,对序列中每个元素进行操作,最终获取新的序列。

li = [11, 22, 33]
new_list = map(lambda a: a + 100, li)
print(list(new_list))

以上实例运行后反回结果结果为:
[111, 122, 133]
map实例一
li = [11, 22, 33]
sl = [1, 2, 3]
new_list = map(lambda a, b: a + b, li, sl)
print(list(new_list))
以上实例运行后反回结果结果为:
[12, 24, 36]
map实例二

六、filter函数:

对于序列中的元素进行筛选,最终获取符合条件的序列

 

li = [11, 22, 33]
new_list = filter(lambda arg: arg > 22, li)
print(list(new_list))
以上实例运行后反回结果结果为:
[33]
filter实例

 七、with使用:

with可以避免打开文件后忘记关闭,可以通过管理上下文:

with函数:以读的形式打开一个文件log,变量名为f:
with open('log','r') as f:
    ........
with函数:以读的形式找到两个文件分别是log1与log2,变量名为obj1与obj2:
with open('log1', 'r') as obj1, open('log2','r') as obj2:
    pass
with使用

 

posted @ 2016-01-21 16:17  Earl.宋  阅读(215)  评论(0编辑  收藏  举报