Python知识点笔记之函数

来源:互联网 发布:mpp 文件查看 mac 编辑:程序博客网 时间:2024/06/07 07:08

Python中的内置函数:

zip():

例子:

 i_list = ['q','w','e','r','t'] j_list = [1,2,3,4,5] ij_list = zip(i_list,j_list) for i,j in ij_list: print i,j或者: i_list = ['q','w','e','r','t'] j_list = [1,2,3,4,5] for i,j in zip(i_list,j_list): print i,j

对不同长度的列表使用zip函数,以最短的为例,在长列表中截取同短列表长度的数据,再做处理,zip()不仅有两个参数,也可以有多个参数。

input():

输入函数

例子:

    >>>input('your name:')  </回车>    your name:      <输入'zcq'></回车>      #注:输入字符串(或字符)时版本2必须带单引号,版本3不带    >>>zcq

dir():

查看一个模块中所有的函数,括号内为对象。

urlparse.urljoin(page_url, new_url):

将new_url按page_url的格式拼接成一个全新的url。

get_text():

get_text()方法获取到tag中包含的所有文版内容包括子孙tag中的内容,并将结果作为Unicode字符串返回。

get_text()方法:用来获取标签里面的文本内容,在括号里面加”strip=True”可以去除文本前后多余的空格。

type():

type(soup)方法可查看对象soup的类型。


Python中的自定义函数:

函数声明:

    def <函数名> (参数列表):        <函数语句>        return <返回值>

有默认值的参数:

    def <函数名> (参数=默认值)        <语句>

传递任意数量的参数:

声明函数时,如果在参数名前面加上一个星号“*”,则表示该参数是一个可变长参数。
例子:

    >>>def zcq(*list):          #声明一个可变长参数的函数    ...l=[]    ...for i in list:           #循环处理参数    ...    l.extend(i)          #将所有参数中的列表合并到一起    ...return l    ...    >>>a=[1,2,3]                #定义列表    >>>b=[4,5,6]    >>>c=[7,8,9]    >>>zcq(a,b)                 #调用函数,传递两个参数    [1,2,3,4,5,6]    >>>zcq(a,b,c)               #调用函数,传递三个参数    [1,2,3,4,5,6,7,8,9]

用参数返回计算结果:

在参数中使用可变对象(如列表等),使函数中的结果返回到参数中,从而达到从函数中返回计算结果的目的。
例子:

    >>>def ChangeValue1(x):         #这里的参数x应为整数    ...x=x**2                       #x的2次方    ...    >>>def ChangeValue2(x):         #这里的参数x应为列表    ...x[0]=x[0]**2    ...    >>>a=2                          #a为整数,其值为2    >>>b=[2]                        #b为列表,其第一个成员是2    >>>ChangeValue1(a)              #使用函数改变a成员的值,但不成功    >>>a    2    >>>ChangeValue2(b)              #使用函数改变b成员的值    >>>b    [4]                             #值被成功改变

变量的作用域:

不同的函数里可以有不同的参数名,并且在脚本运行中其值不互相影响。这是因为它们处于不同的作用域里。

在Python中,作用域可分为:

  • 内置作用域:是Python预先定义的;
  • 全局作用域:是所编写的整个脚本;
  • 局部作用域:是某个函数内部范围。

最简单的函数:用lambda声明函数:

使用lambda可以声明一个匿名函数(匿名函数是指所声明的函数没有函数名);
使用lambda声明的函数可以返回一个值,在调用函数时,直接使用lambda表达式的返回值;
lambda适用于定义一个小型函数,与def声明的函数不同,使用lambda声明的函数,在函数中仅能包含单一的参数表达式,而不能包含其他语句;
在lambda中也可以调用其他函数。

使用lambda声明函数的一般形式:

lambda 参数表达式:表达式

例如:

    >>>fun=lambda x:x*x-x       #使用lambda定义一个函数,返回函数地址    >>>fun(3)                   #调用lambda定义的函数    6                           #函数返回值