python基础(八)-----函数(上)

1.1函数简介

函数(function)可以用来保存一些可执行的代码,在需要的时候,对这些语句进行重复的调用

函数的优点

  • 遇到重复功能的时候,直接调用即可,减少代码量

  • 提升代码项目的结构性,提高代码的可读性

  • 遇到扩展功能,修改比较方便

2.1 函数定义

定义函数

def 函数名(形参1,形参2,形参3....):
    代码块

函数名的命名规则与变量一样

  1. 由数字、字母、下划线组合

  2. 首字母不能是数字

  3. 不能是关键字

规范

  1. 见名知意

  2. 下划线命名法

  3. 驼峰命名法

  4. 取名字尽量不要取跟python内置成员相同

def fn():
    print('这是我的第一个函数')

 函数中保存的代码不会立即执行,需要用户调用函数,代码才会执行

3.1 函数调用 

语法:
    函数对象()

函数必须遵守先定义再调用

def fn():
    print('hello')
    print('我叫白云')
    print('上课了吗')
    print('再见')

fn()
fn()
fn()
fn()


# 定义一个login函数,功能是 输入用户名和密码,验证是否正确
def login():
    username = input('用户名:')
    password = input('密码:')
    if username == 'root' and password == '123456':
        print('登录成功')
    else:
        print('登录失败')
        
        
区分一个东西
fn    是什么	函数对象/函数本身/函数的内存地址
fn()  是什么   调用fn/使用函数对象


def fn():
    print('hello,world')


a = fn  # fn:内存地址
a() # fn()

 3.1 函数的形参与实参

3.1.1 形参与实参

无参数

def 函数名(): # 括号里面没有东西叫无参数
	pass 

有参数

def 函数名(参数1,参数2,参数3): # 
	pass

函数的参数:在定义函数时,可以在函数名后()中定义数量不等的形参,逗号隔开

形参(形式参数):定义形参就相当于在函数内部声明了变量,并没有值

实参(实际参数):函数定义时指定了形参,在调用的时候也必须传递实参,实参会赋值给对应的形参。

def fn(a, b):  # 定义函数时指定形参
    print('a =', a)
    print('b =', b)


fn(10, 20)  # 调用函数时,来传递实参
fn(666,333)



def sum2(a, b):
    print(f'{a} + {b} = {a+b}')


sum2(111, 222)

总结:定义函数的时候那个叫形参,调用的时候叫实参。

定义了多少个形参就得传递多少个实参

3.1.2 参数的传递方式

3.1.2.1 默认值参数

# 如果用户传递了c ,那么默认值参数无效
# 如果用户没有传递c,则默认值有效
def fn(a, b, c=10):
    print('a =', a)
    print('b =', b)
    print('c =', c)

fn(1, 2)

3.1.2.2 位置参数与关键字参数

实参的传递方式

# 1.位置参数
	将对应位置的实参赋值给对应位置的形参
    	第一个实参 =》 第一个形参
        第二个实参 =》 第二个形参

def save(年龄,姓名,手机号,QQ号,微信号,国籍,爸爸名,省份,妈妈名,学历,出生年份,出生月份,是否结婚):
    pass

save()


# 2.关键字参数
	可以不按照形参定义的顺序来传递,直接根据形参名来传递参数
    
    def fn(a, b, c):
        print('a =', a)
        print('b =', b)
        print('c =', c)


fn(a=1,c=3,b=2) 

关键字参数和位置参数可以混合使用

混合使用关键字参数和位置参数时必须要将位置参数写在前面

def fn(a, b, c):
    print('a =', a)
    print('b =', b)
    print('c =', c)

fn(5,6,c=7)
print(1, 2, 3, 4, 5, 6, 7, 8, 9,end='10')

3.1.3 实参的类型

 

def fn(a, b):
    print(a + b)


def fn2(a):
    a(10, 20)  # fn(10,20)


fn2(fn)  # fn  fn()

实参可以是任意一个数据类型,什么都行,啥都行

4.1 练习

# 1.编写一个函数,功能是输出hello,world

# 2.定义一个函数jia,传入两个参数num1,num2,输出它们的和

# 3.编写一个函数,功能是输出2个数中较大的一个数

'''
4.BMI是Body Mass Index 的缩写,BMI中文是“体质指数”的意思,是以你的身高体重计算出来的。BMI是世界公认的一种评定肥胖程度的分级方法,世界卫生组织(WHO)也以BMI来对肥胖或超重进行定义。
  身高体重指数这个概念,是由19世纪中期的比利时通才凯特勒最先提出。它的定义如下:
  体重指数(BMI)=体重(kg)÷身高^2(m)
  成人的BMI数值:
  过轻:低于18.5
  适中:18.5-25
  过重:25-30
  肥胖:30-35
  非常肥胖, 高于35
  专家指出最理想的体重指数是22。
    请你定义一个函数, 用户输入体重(kg单位) ,输入身高(m单位) 作为参数传入函数,计算出BMI 然后根据BMI 输出 过轻,适中,过重,肥胖,非常肥胖
    ps:用函数的参数做
'''

5.1 答案解析

# 1.编写一个函数,功能是输出hello,world
def scy():
    print('hello,world')
scy()
# 2.定义一个函数jia, 传入两个参数num1, num2, 输出它们的和
def jia(num1,num2):
    sum=num1+num2
    print(sum)
jia(5,6)
# 3.编写一个函数,功能是输出2个数中较大的一个数
def dhm(max1,min1):
    if(max1>min1):
        print(max1)
    else:
        print(min1)
dhm(78,88)



# 4.BMI是Body Mass Index 的缩写,BMI中文是“体质指数”的意思,是以你的身高体重计算出来的。BMI是世界公认的一种评定肥胖程度的分级方法,世界卫生组织(WHO)也以BMI来对肥胖或超重进行定义。
#   身高体重指数这个概念,是由19世纪中期的比利时通才凯特勒最先提出。它的定义如下:
#   体重指数(BMI)=体重(kg)÷身高^2(m)
#   成人的BMI数值:
#   过轻:低于18.5
#   适中:18.5-25
#   过重:25-30
#   肥胖:30-35
#   非常肥胖, 高于35
#   专家指出最理想的体重指数是22。
#     请你定义一个函数, 用户输入体重(kg单位) ,输入身高(m单位) 作为参数传入函数,计算出BMI 然后根据BMI 输出 过轻,适中,过重,肥胖,非常肥胖
#     ps:用函数的参数做

def BMI(kg,m):
    BMI_1=kg/m**2
    if(BMI_1<18.5):
        print("过轻")
    elif(25>BMI_1>=18.5):
        print("适中")
    elif(30>BMI_1>=25):
        print("过重")
    elif(35>BMI_1>=30):
        print("肥胖")
    else:
        print("非常肥胖")
BMI(70,1.77)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值