• 函数返回值、变量和异常逻辑处理


    一、函数返回值

    1、一个函数,不管是否有return,都是有返回值,如果没有return,返回值是None

    2、如果有return,函数的返回值是return后的内容,切记:return后面的代码是不能够执行的

    函数返回值的价值

    可以把函数与函数之间建立一层关联关系

    # 函数返回值
    def zhihulogin(username='wp', password='12345'):
       if username=='wp' and password=='12345':
          return '23vetr'
       else:
          return '账户名或密码不正确'
    
    def profile(sessionid):
       if sessionid=='23vetr':
          print('登录成功')
       else:
          print('请重新登录')
    
    profile(sessionid=zhihulogin())

    chr:数字转字母

    print(chr(98))——97-120为字母

    ord:字母转数字

    print(ord('g'))

    range:包含开始但不包含结束

    必须和循环一起使用,如果括号中仅有一个数字,即输出的为从0到数字的前一位

    返回随机数:random

    内部库,库都是需要导入的,导入关键字是import

    randint——整型的范围

    # 返回随机数以及返回值的范围
    import random
    print(random.randint(3,64))

    练习:验证码

    # 验证码
    import random
    list1=[]
    for yz in range(4):
    # 随机输出四个字母验证码
        r=random.randint(97,120)
    # 将数字转为字母
        list1.append(chr(r))
    # 将列表转为字符串输出
    print(''.join(list1))

    eval:字符串转为表达式

    不建议使用多个

    # 字符串转为表达式
    # 符号可以为"+、-、*、/"
    str1='66+22'
    print(eval(str1))

    lambda:匿名函数

    他是一个函数,但是名称可以自定义

    # lambda:匿名函数
    # x与y之间可以加减乘除
    add=lambda x,y:x-y
    print(add(53,3))

    二、函数

    1、过滤函数:filter()

    常规步骤

    # 过滤函数
    list1=[1,2,3,4,5,6,7,8]
    # 定义一个函数,假设>2,附加给item2
    list2=[]
    def func():
        for item in list1:
            if item>2:
                list2.append(item)
        print(list2)
    # 调用函数,因print输出的信息是在函数中
    func()

    filter()

    1、函数对象,但是没有()

    2、可迭代的对象(可以被循环)

    list1=[1,2,3,4,5,6,7,8]
    def func(w):
        if w>2:
            return True
    print(list(filter(func,list1)))
    
    print(list(filter(lambda w:w>2,list1)))

    两种方式

    2、针对所有对象做同样的操作:map

    list1=[1,2,3,4,5,6,7,8]
    # 常规方式:所有的对象都+10
    list2=[]
    def func():
    for item in list1:
    list2.append(item+10)
    print(list2)
    func()
    # 简便方式
    print(list(map(lambda w:w+10,list1)))

    三、变量

    1、概述

    全局变量:在一个python文件中定义的变量

    局部变量:在一个函数中定义的变量

    # 全局变量
    name='wp'
    def func():
    # 局部变量
        name='wp'
    print(name)

    2、优先级

    1、在python文件中,调用变量,全局变量优先级是高于局部变量

    2、在函数内部调用变量,局部变量的优先级是高于全局变量的

    3、如果在函数内部想引用全局变量,那么使用关键字:global

    name='王潘'
    def func():
        global name
        print(name)
    
    func()

    四、函数异常逻辑处理

    1、异常的父类是BaseException

    try:

    expect:

    else:

    finally

    2、异常顺序

    1、正常逻辑:try——else——finally

    先执行try,之后执行else,最后执行finally,后两个可以填写也可以不填写

    2、异常逻辑:try——except——finally

    先执行try。但异常逻辑中当try不可执行中,就跳过执行expect捕获异常原因,最后执行finally。其中try和expect必须填写,finally可以填写也可以不填写

    3、实战练习

    五、模块和包

    1、概述

    1.1、模块:在python中,每一个python文件都是一个模块(module)。

    1.2、(package):在一个包里面会有很多模块。

    1.3、包与文件夹的区别:包里面有_init _.py文件;文件夹里没有

    2、如何创建包和模块

    2.1、创建包——如下图:包中有小孔

    包里面有_init _.py文件

    2.2、创建文件夹——如下图

    3、模块间的调用

    一个模块调用另一个模块中的所有的内容,前提是另一个模块是一个包中的,用的是from (包的位置).package.module import *(*代表所有内容)

    name='this is a python'
    def func():
        print('this is a login module')

    from login.f1 import *
    print(name)
    func()

     

     

  • 相关阅读:
    forEach 终止循环
    js 解决引用赋值修改新数组导致原数组跟着改变的问题
    es6判断数组是否包含某个元素
    tab css 切换效果
    js对象赋值影响原对象
    小程序返回上个页面 修改上个页面的数据
    小程序 scroll-view scroll-x 不生效
    proxy跨域处理
    常用Dos操作指令
    django全文检索
  • 原文地址:https://www.cnblogs.com/Kaylee/p/16078875.html
Copyright © 2020-2023  润新知