python函数定义,局部变量、全局变量

函数

使用函数的意义在于提高编程效率,避免大量的重复工作
函数分为:
内置函数:可以直接调用的函数
第三方,模块相关函数:即导入第三方包,直接调用第三方包函数
自定义函数:即根据自己的计算需求,编写属于自己的程序段

常用内置函数

(1)len() :计算字符串的长度
如`

a =list((1,2,3,4,5))
print(len(a))

(2)max():计算最大值
(3)min():计算最小值
(4)split():分隔字符串
(5)join():拼接字符串
(6)zip():将每个列表对应相同位置的数据作为一个组合,形成新的列表元组

list1=[1,2,6,7]
list2 = ['a','b','c','d']
B = list(zip(list1,list2))#注意zip使用list()引用,注意是圆括号
print(B)
[(1, 'a'), (2, 'b'), (6, 'c'), (7, 'd')]

常用导入函数

  • 第一类math()函数
    (1)math.floor():向下取整数
    (2)math.ceil():向上取整函数
    例如:
import math
a = math.floor(4.2)#向下取整
b = math.ceil(4.2)#向上取整
print(a)
print(b)
4
5
  • 第二类numpy函数
    (1)np.min():返回列表中的最小值
import numpy as np
list1 = [7,8,9,10]
print(np.min(list1))
7

(2)np.argmax():返回最大值对应的索引

import numpy as np
list1 = [7,8,9,10]
print(np.argmax(list1))#返回最大值对应的索引
3

自定义函数

  • 函数语法-注意函数的格式,即在这里插入图片描述
  • (1)简单函数定义
    定义一个avg()函数
def avg(x):
    mean_x = sum(x)/len(x)#len()表示计算x列表的长度
    return mean_x
x = [1,2,3,4]
avg(x)
print(avg(x))2.5
  • (2)计算一定范围内的自然数之和
def ssn(n,beg=1):
    s=0
    for i in range(beg,n+1):#python中值范围为左开右闭
        s += i#累加和
    return s
a = ssn(100,1)
print(a)
5050
  • (3)函数的变身
  • 不存在函数体,直接根据形参位置输入值
def fil(a,b,c):
    return (a**2,b**2,c**2)
y = fil(1,2,3)
print(y)
(1, 4, 9)
  • 不存在函数体,直接根据形参的关键值给出参数
def luo(a,b ,c):
    return(a**2,b**2,c**2)
y = luo(a = 1,c= 4, b =5 )
print(y)
(1, 25, 16)

函数的局部变量和全局变量

局部变量为变量放于函数内部,外部函数不能使用函数内部定义的变量。
全局变量为定义于函数外部的变量,外部函数可以调用全局变量。

  • 局部变量格式
def local_var():
	local_x = 100#变量定义于函数local_var()之内
print(local_x)

举例:

def local_var():
    local_x = 100
    return local_x
print(local_x)
NameError: name 'local_x' is not defined#由于变量local_x定义于函数内部,外部函数print()并不能使用变量local_x,导致未定义变量错误
  • 全局变量格式
x = 1
def local_var():
	x = 50
	print(x)
local_var(50)
print(x)

例子 2 :

x = 1
def fy(a):
    x = a
    return x
print(fy(100))
print(x)#全局变量在函数外部调用时,全局变量还是全局变量x = 1.
100
1

我也是刚刚学习,希望可以帮助有需要的朋友!有问题可以指出,不喜欢勿喷。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值