Python案例:try、assert、def的用法

本文介绍了Python中的try-except语句用于异常捕捉,assert用于断言预期结果,以及如何定义函数、参数传递、全局和局部变量的概念。涵盖了基本的语法和用法实例。
摘要由CSDN通过智能技术生成

try预执行

assert断言

def定义函数

'''try异常捕捉,try会先对下面的代码进行存档,如果代码可以正常执行,则删除存档,继续往下运行,如果下面的代码报错,则加载回存档,不再
执行try下面的代码,转而执行except下面的代码。'''
# try:
#     a = int(input('请输入数字:'))
#     print(a)
# except TypeError:
#     print('类型错误')
# except ValueError:
#     print('值错误')
# except Exception as r:
#     print('未知类型错误:{}'.format(r))
# else:  # else跟随try一起使用的时候,只有当try下面的代码运行成功才会跟着执行,否则不执行
#     print('如果你看到了我,证明try下面的代码运行成功')
# finally:
#     print('无论try是否成功,最后都会执行的部分')
#
# print('我是来证明try之后,代码可以正常走到这里')

'''练习18'''
# 1.
# try:
#     a = float(input('你输入一个内容:'))
#     print('你输入的是数字')
# except:
#     print('你输入的是字符串')

# 2.
# try:
#     a = int(input('请输入6位数字'))
#     if 99999< a <= 999999:
#         print('你输入的数字长度符合要求')
#     elif a >999999:
#         print('你输入的数字长度太长')
#     else:
#         print('你输入的数字长度太短')
# except:
#     print('你输入的数字有误')

# 3.
# try:
#     a = float(input('请输入一个内容:'))
#     b = int(a)
#     if a == b:
#         print('你输入的是一个整数')
#     else:
#         print('你输入的是一个小数')
# except:
#     print('你输入的是一个字符串')

'''assert断言,就是对结果进行预期断定,如果断言成功,则代码继续执行,如果断言失败,则代码报错,所以断言一般和try一起使用'''
# a = input('请输入一个内容:')

# try:
# assert len(a) >= 1,'失败原因:未输入任何内容'
# print('用例通过')
# except:
#     print('用例失败')

'''定义函数,通过def来定义,起函数名要遵循命名规则,函数名后面有括号,括号里面是参数列表,可以不止一个参数,下面是函数体,也就是该函数需要执行的代码
,最后可以有return来设定函数的返回内容,也可以不写,如果写return,要注意写在函数体的最后,因为return是一个结束标志,函数体里面的代码在执行的过程
中,遇到return就会终止并返回结果,所以return后面的代码就不再执行了。'''


def kunkun():
    a = 3
    b = 4
    c = a + b
    return c


'''调用和引用,调用是指调用函数体本身,需要在函数名后面加(),括号里面如果需要填写参数的,就填写参数;引用是指只用函数的名字,不执行函数本身'''

a = kunkun()
print(a)


def kun1(a, b):
    c = a + b
    return c


a = kun1(2, 9)
print(a)


# b = kun1()
# print(b)

def kun2(a=0, b=0):
    c = a + b
    return c

a = kun2(5, 7)
print(a)

a = kun2(15)
print(a)

a = kun2(b=345)
print(a)

'''def就是用来声明函数,在写def的过程,就称之为声明过程,括号里面的参数,叫做形参,就是形式上的参数,本身是不会被使用的,目的是让函数在形式上看起来是
一个整体
在调用函数的过程中,传入函数体里面的参数叫做实参,就是实际上的参数,也是函数在执行过程中真正会用到的参数。
那么由实参代入形参的过程称之为传参,就是传递参数的意思,这个过程看不见
实例化:就是调用一个函数,生成一个函数对象
局部变量就是只在函数体内有效的变量,超过函数体则不生效
全局变量是指在整个文件中都有效的变量,在该文件运行周期内,可以随意使用'''
def kun3():
    acv = '我是局部变量'
    return acv

str1 = kun3()  # 实例化,其实就是调用函数
print(str1)
# print(acv)

sxc = '我是全局变量'
print(sxc)

def kun4():
    acv = '我是局部变量'
    tyu = acv + sxc
    return tyu

a = kun4()
print(a)

# 没有return的情况下,不需要变量来承载返回结果,因为返回来的结果是None
def kun5():
    a = 5
    b = 5
    c = a + b
    print(c)

a = kun5()
print(a)

# 将局部变量声明为全局变量

def kun6():
    # 先声明全局,再赋值,不能同时进行
    global aer
    aer = '我虽然在函数体里面,但是我是全局变量'
    print(aer)

kun6()

print(aer)

# 带默认值的形参必须在没有默认值的形参后面,否则定义函数错误,这个是语法规定的
def kun7(a,b=0):
    print(a,b)

# 不定长参数
'''*args和**kwargs来指代不定长参数,区别:
1.名字不一样
2.前面的*不一样多
3.两种参数的类型不一样,*args类型是元祖,**kwargs类型是字典
4.传参方式不一样,*args只能用位置参数进行传参,**kwargs必须用=赋值,也就是指定参数进行传参'''
def kun8(name,age,*args):
    print('你的名字是{},你的年龄是{},你的其他信息是{},{},{}'.format(name,age,*args))

kun8('xiaoming',17,'身高170cm','体重140斤','性别男')


def kun9(name,age,**kwargs):
    print('你的名字是{0},你的年龄是{1},你的其他信息是{2}'.format(name,age,kwargs))

kun9('小明',18,height='170cm',weight='140斤',sex='男')

# 定义函数的时候最好带上注释
def kun10(name,age,sex,height,weight):
    '''
    该函数是用来打印个人信息,方便征婚
    :param name: 承载姓名
    :param age: 年龄
    :param sex: 性别
    :param height: 身高,单位是厘米
    :param weight: 体重,单位是斤
    :return: 返回”函数执行完毕“
    '''
    print('姓名:{}'.format(name))
    print('年龄:{}'.format(age))
    print('性别:{}'.format(sex))
    print('身高:{}'.format(height))
    print('体重:{}'.format(weight))
    return '函数执行完毕'


a= kun10('xiaoming',19,'男',190,180)
print(a)

# 分开调用函数和嵌套调用函数
def ubi(name,age,sex):
    print('姓名:{}'.format(name))
    print('年龄:{}'.format(age))
    print('性别:{}'.format(sex))
    return name,age,sex

def uoi(a,b,c):
    d,e,f, = ubi(a,b,c)
    print(f,d,e)

def ui():
    uoi('kunkun',19,'男')

ui()

def demo1():
    print('我是第一个函数体')
    def demo2():
        print('我是第二个函数体')
    demo2()

demo1()

def func1():
    print('我是第一个函数')

def func2(x):
    print('我是第二个函数')
    x()
def func3():
    print('我是第三个函数')

func2(func3)    #func3是一个函数的名字,但是这个名字后面没有(),只是单纯使用这个名字而已,这就叫做引用

 

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值