Python语法基础之. Task05 函数与Lambda表达式(6-7/17)

1. 函数

1.1 定义函数

语法:

def 函数名(参数列表):
    函数体
  • 默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的
  • 如果没有return 语句,会返回None;return None 简写为return

实例

def print_welcome(name):
    print("Welcome", name)

def SuccessEquation(factor1, factor2):
    return str(factor1 + " Plus " + factor2 + " = Success")

print_welcome("IvanZhang")
X = 'Vision'
Y = 'Endeavor'
print(SuccessEquation(X, Y))
# Welcome IvanZhang
# Vision Plus Endeavor = Success

其他:

  • 空函数:用pass语句作为占位符
  • 数据类型检查可以使用内置函数isinstance()实现;
x = 'red'
if not isinstance(x, (int, float)):
    raise TypeError('bad operand type')
# TypeError: bad operand type

1.2 函数调用

1.2.1 函数调用

首先,定义一个函数:给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行。

其次,python支持非常灵活定义的函数,而且本身内置了很多有用的函数
使用方法:

  • 官方文档 查询
  • help(func)查看对应函数func的帮助文档

“函数名其实就是指向一个函数对象的引用”,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”

f = float
print(f(1.2342342352345235234234233984028953))	    
# 输出 1.2342342352345235

1.2.2 函数的返回值

Sample1:

def add(a, b):
    return a + b

print(add(1, 2))  # 3
print(add([1, 2, 3], [4, 5, 6]))  # [1, 2, 3, 4, 5, 6]

Sample2:

def back():
    return [1, 'python practice', 3.14]


print(back())  # [1, 'python practice', 3.14]

Sample3:

def back():
    return 1, 'python practice', 3.14

print(back())  # (1, 'python practice', 3.14)

Sample4:

def printme(str):
    print(str)

temp = printme('hello') # hello
print(temp) # None
print(type(temp))  # <class 'NoneType'>

1.2.3 变量作用域

  • Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的
  • 定义在函数内部的变量拥有局部作用域,该变量称为局部变量
  • 定义在函数外部的变量拥有全局作用域,该变量称为全局变量
  • 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问
def discounts(price, rate):
    final_price = price * rate
    return final_price

old_price = float(input('请输入原价:'))  # 98
rate = float(input('请输入折扣率:'))  # 0.9
new_price = discounts(old_price, rate)
print('打折后价格是:%.2f' % new_price)  # 88.20
  • 当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字
num = 1

def fun1():
    global num  # 需要使用 global 关键字声明
    print(num)  # 1
    num = 123
    print(num)  # 123

fun1()
print(num)  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值