python基础之函数

1.函数:对功能和动作进行封装

2.函数的定义

def 函数名(形参列表)

   函数体(return)

#函数调用

函数名(实参列表)

3.返回值

1)return 的作用:

中止对这个函数的调用,②返回值的情况

2)返回值的几种情况

①函数体没有return语句,返回值为None

②return语句后面不加或者None(这种方式一般没有把),返回值为None

③return语句加一个值,返回值为一个值

④return语句后面加多个值,返回值为元组,可以直接解构成多个值

4.形参、实参、传参

形参:函数声明时的位置的变量

实参:函数调用时的位置的变量

传参:将实参赋值给形参的过程。

5.实参的分类

位置参数:根据位置给形参传递信息

关键字参数:按照形参的名字给参数传递信息

混合参数:先位置,再关键字

6.形参的分类

位置参数

默认值参数:必须写在位置参数后面

③动态参数

  *args:位置参数的动态参数,接收到的是元组

  **kwargs:默认值参数的动态参数,接收到的是字典

顺序:位置参数 => *args => 默认值参数 => **kwargs

 

*和 ** 在形参位置上就表示 把传进来的参数聚合起来

在实参位置上表示把 参数打散

7.命名空间

1)内置命名空间:python解释器提供给我们的一下名称,如list,tuple,str

2)全局命名空间:我们直接放在py文件中,函数外声明的变量

3)局部命名空间:在函数中声明的变量

8.作用域:变量或者函数的声明周期

1)全局作用域:在整个文件的任何位置都可以使用,有内置命名空间和全局命名空间组成;

2)局部作用域:只在函数内部可以使用,有局部命名空间组成。

9.两个函数globals()和locals()

globals():查看全局作用域中的内容

locals():查看当前作用域中的内容

10.函数的嵌套

反复调用
def fun1():
    print('我是fun1')
def fun2():
    fun1()
    print('我是fun2')
fun2()

嵌套
def fun1():
    print('我是fun1')
    def fun2():
        print('我是fun2')
fun1()

11.两个关键字global和nonlocal

global:把全局作用域中的变量拽进来

nonlocal:把当前的上一层的变量拽进来使用

# global
a = 10 def fun(): global a a = 20 print(a) fun() print(a) >> 20 20
#nonlocal a
=10 def fun1(): a = 20 def fun2(): nonlocal a a = 30 print(a) fun2() print(a) fun1() print(a) >> 30 30 10

 

12.函数名的应用

1)函数名可以赋值,可以像变量名一样进行使用

2)如果单独的使用函数名,后面没有加括号的话,返回的是这个函数的内存地址

3)变量名可以加减什么的,但函数名不可以哦

4)模板:

def fun1():
    print("我是fun1")
def fun2():
    print("我是fun2")
def fun3(a,b)
    xxx
fun3(fun1(),fun2())

5)要适当给出函数的文本注释,只需要几行就行,简洁明了的说明函数的作用

6)__name__:得知最开始定义的函数名,因为我们在对函数名赋值的时候,函数名一直在变,到最后我们都不知道函数名指的啥了,所以这个很有必要。

__doc__:查看文本注释    和上面一样,(两边都是两个下划线‘_’)

 

#登录验证
def login(username,password):      #函数的定义
    if username == 'alex' and password == '123':
        # return '登陆成功'     最low
        return True     #最好的方式  #函数有返回值,返回值为True
        # return 1
    else:
        return  False
name = input('账户:')
password = input('密码:')
if login(name,password):    #函数的调用
    print('进入主页')
else:
    print('用户名或密码错误,请重新登陆!')

 


 

posted @ 2020-06-07 21:29  咕咕咕de小迷弟  阅读(137)  评论(0编辑  收藏  举报