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