浅谈python零基础教程总结30天--day8

一、函数:

函数:函数就是实现某一特定功能的代码块;在类中,函数又叫方法(对某一个功能的封装)

为什么要使用函数?
飞机的功能: 左移、右移、上移、下移、发射子弹等

a.没有函数的时候:
问题:1.一样的功能对应的代码,需要重复写很多次 (代码冗余)
1. 如果功能发生改变的时候,需要修改很多位置的代码

b.怎么解决上面的问题: 使用函数

函数作用: 1.让界面简洁(同样的功能对应的代码只写一遍)
2.如果功能发生改变,使用函数只需要修改一个地方的
3.让代码模块化

二、函数的声明(定义)

print()、input()、len()、max()、min()等,都是python内置函数
append()、insert()等是相关类对应的函数

a.格式
def 函数名(参数列表):

​ 说明文字

​ 函数体

def: 是python中声明函数的关键字
函数名: 标识符,PEP8,见名知义(根据函数名大概知道函数的功能)
(): 固定格式,不能省略
参数列表(形参): 参数的作用就是从外面往函数中传值。一个函数可以有没有参数,也可以有多个参数。如果有多个参数,参数间用逗号隔开
冒号: 固定的格式
说明文字: 对函数功能进行说明
函数体:就是实现函数功能的代码段

.对于初学者来说,声明函数的步骤:
1. 确定函数的功能(确定函数是干什么的)
2. 确定函数名 (根据功能确定函数名)
3. 确定参数 (确定是否有参数,确定参数有几个,看实现这个功能需不需要从外面传值进去)
4. 确定是否需要返回值 (返回值:就是函数返回给调用者的数据。python中所有的函数都有返回值,默认是None)
5. 实现函数的功能

注意:函数只要在调用的时候才会执行

“”“

1.函数的调用

“””
格式:
函数名(参数列表)

函数名: 你声明的需要调用的函数(已经声明过的函数才可以调用)
参数列表:实参

函数的调用过程:就是用实参给形参赋值,并且执行函数体获取返回值
“”“

写一个函数,打印’hello python’

声明函数hello

def hello():
“”“打印 ‘hello python’ “””
print(‘hello python’)

调用函数hello

re = hello()
print(hello())

注意: 1.一个函数声明后,可以调用多次 2.python中所有的函数调用表达式都有值

写一个函数,去打印10的阶层(1*2*3*…*10)

def jie_ceng():
“”“打印10的阶层”“”
sum1 = 1
for x in range(1, 11):
sum1 *= x
print(sum1)

jie_ceng()

1.函数的声明
def 函数名(参数列表):

说明文字
函数体

形参: 获取从外面传递给函数内部的值

2.函数的调用
函数名(实参列表)

实参:调用函数的时候给函数传的值
“”“

“”“1.带参的函数的声明和调用”“”

写一个函数,打印两个数的和

形参就是变量(声明在函数内的变量)

def my_sum(num1, num2):
打印num1和num2的和
print(num1, num2)
print(num1+num2)

带参的函数的调用

my_sum(30) # TypeError 注意!:函数调用的时候一定要保证每个形参都有值

1.位置参数(用实参依次给形参赋值)

my_sum(20, 10) # 执行这句代码:先将num1 = 10, num2 = 20。再执行my_sum的函数体

2.关键字参数

my_sum(num2=10, num1=5)

练习: 写一个函数,打印一个数的立方

def cubic(num):
“”“求一个数的立方”“”
print(num**3)

cubic(10)
cubic(num=10)

“”“2.参数的默认值”“”

在python中,函数的参数可以设置默认值(函数声明的时候给参数赋值)。

如果参数设置了默认值,那么调用函数的时候,这个参数可以传参,也不可以不参

写一个函数,问候某人(打印:XXX,how are you!)

def say_hi(name=’XXX’):
“”“问候”“”
print(‘%s,how are you!’ % (name))

函数调用的要求:保证每个参数有值

say_hi()
say_hi(‘张三’) # name=’张三’ , print(‘%s,how are you!’ % (name))

注意:如果声明函数的时候,函数中有多个参数,有默认值参数必须放到没有默认值的参数的后面

def say_hello(message, name=’xxx’):
“”“问候”“”
print(‘%s,%s’ % (name, message))

say_hello(‘你吃饭了吗?’, ‘李四’)
say_hello(‘最近好吗?’)
say_hello(name=’小花’,message=’i love you!’)
say_hello(message=’我恨你!’)

“”“3.参数个数不定”“”

写一个函数,求多个数的和

“””
参数个数不确定的时候,就在参数列表中声明一个变量,前面加一个*;
这个时候这个变量就变成了元祖。函数调用的时候,所有的实参都会添加到这个元祖中
“””
def my_sum2(*nums):
sum1 = 0
for item in nums:
sum1 += item
print(sum1)

my_sum2(10, 2, 30)
my_sum2(1, 2)
my_sum2(1, 2, 3, 4, 5, 6)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值