pyhton-函数中return和print的区别

return

def num_ber():

i = []

for x in range(101):

i.append(x)

return i

print num_ber()

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]

#此函数中return是指把执行for后的列表返回给函数num_ber(),后print num_ber()是打印出返回给函数的列表。

即:

i = [] ==num_ber() 列表等于函数

print

同一个函数

def num_ber():

i = []

for x in range(101):

i.append(x)

print i

print num_ber()

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]    #print i
None                                            #print num_ber()

#此函数第一个print i 打印出for循环后的列表这里并不是返回给函数,所以第二个打印出的函数num_ber()是None

即:

i = [] ≠ num_ber()

总结:

1.return 是把执行的返回给函数,print 仅仅是接着上一个执行语句来打印出结果并不返回函数。

2.在for循环后,return 和print与for对其。

python–内置函数

1.

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

使用map处理

【‘admin’, ‘LIsa’, ‘barT’】变为【’Admin’, ‘Lisa’ ‘Bart’】

#conding:utf-8

def change_name(s):

    return s[0].upper() + s[1:].lower()

print map(change_name, ['admin', 'LIsa', 'barT'])

upper、lower是使字符串变大变小。

2.

reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。

def change_number(x, y):

    return x + y

print reduce(change_number, range(1, 101))

3.

ilter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

e.g 过滤100里面的偶数

def is_sqr(x):

    return x % 2 == 1

print filter(is_sqr, range(1, 101))

e.g 过滤掉100里面的整数

import math #引入marh这个函数

def is_sqr(x):

a = int(math.sqrt(x)) #sqrt() 方法返回数字x的平方根,

return a * a == x #a的平方与x相等

print filter(is_sqr, range(1, 101))

 

python数据处理之csv

import csv

with open(‘xxx.csv’, ‘rb’) as f:    #r打开 b二进制形式 rb以二进制打开

reader = csv.reader(f)

for row in reader:

print row