轩小陌的Python笔记-day10 函数基础

这篇博客介绍了Python函数的基础知识,包括函数的概念、参数、返回值。强调了函数在提高代码复用性和可读性上的作用,详细讲解了位置参数、默认参数、动态参数(*args 和 **kwargs)以及函数返回值的用法。最后提到了函数定义的规范和日常开发中函数返回值的重要性。
摘要由CSDN通过智能技术生成

day10 函数基础

在这里插入图片描述
目标:掌握函数的编写方式以及函数的基本使用。

今日概要:

  • 初识函数
  • 函数的参数
  • 函数的返回值

1. 初识函数

1.1 函数到底是什么?

函数,可以理解为一大堆功能代码的集合。

def 函数名():
    函数内编写代码
    ...
    ...
    
函数名()

例如:

# 定义名为info的函数
def info():
    print("第一行")
    print("第二行")
    print("第n行...")
    
info()

1.2 什么时候会用到函数?

一般在项目开发中,函数会有两种应用场景:

1.2.1 有重复代码,用函数提高代码的重用性。
# 定义send_email函数:
def send_email():
    ...
    ...
    
# 开发过程中重复调用函数:
print("欢迎使用计算机监控系统")
if CPU占用率 > 90%:
    send_email()
if 硬盘使用率 > 99%:
    send_email()
if 内存使用率 > 98%:
    send_email()
1.2.2 代码太长,用函数增强代码的可读性。
案例:设计一款炸金花的棋牌游戏
# 1. 生成一副扑克牌
card_color_list = ["红桃", "黑桃", "方片", "梅花"]
card_nums = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
all_card_list = [[color, num] for color in card_color_list for num in card_nums]

# 2.洗牌
random.shuffle(all_card_list)

# 3.给玩家发牌
...

# 4.判断牌型:豹子?同花顺?顺子?对子?单张?
calculate_same_num_rule()
calculate_same_color_rule()
calculate_straight_rule()
calculate_double_card_rule()
calculate_single_card_rule()
...

# 为每种牌型定义一个函数:
def calculate_same_num_rule():
    """判断是否是豹子"""
    pass

def calculate_same_color_rule():
    """判断是否是同花"""
    pass

def calculate_straight_rule():
    """判断是否顺子"""
	pass

def calculate_double_card_rule():
    """判断是否对子"""
	pass

def calculate_single_card_rule():
    """判断是否单牌"""
    pass

按照业务功能逻辑从上到下逐步编写代码的方式称为:面向过程编程;现在学了函数之后,利用函数编程的方式称为:函数式编程

2. 函数的参数

之前说了很好多次发送邮件的案例,下面先教大家用python发邮件,然后再由此引出函数的参数。

  • 注册邮箱
  • 基础配置
    • 授权码
    • SMTP服务器: smtp.126.com
  • 代码发送邮件

在这里插入图片描述
在这里插入图片描述
用Python发邮件函数格式如下:

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

### 1.邮件内容配置 ###
msg = MIMEText("你是猪吗?", 'html', 'utf-8') 
msg['From'] = formataddr(["轩小陌", "发送人的邮箱地址"])
msg['Subject'] = "你好"

### 2.发送邮件 ### 
server = smtplib.SMTP_SSL("smtp.126.com")
server.login("发送人的邮箱地址", "发送人邮箱的授权码")
server.sendmail("发送人的邮箱地址", "收件人的邮箱地址", msg.as_string())
server.quit()

那么如何根据上述代码实现给3个用户发邮件呢?

v1 = "424662501@qq.com"
v2 = "424662220@qq.com"
v3 = "xuanxiaomo@live.com"

基于函数的参数(将代码中动态部分提取到参数位置,让函数可以充分被重用)

def send_email(email):
    ### 1.邮件内容配置 ###
    # 邮件文本
    msg = MIMEText("你是猪吗?", 'html', 'utf-8') 
    # 邮件上显示的发件人
    msg['From'] = formataddr(["轩小陌", "发送人的邮箱地址"])
    # 邮件上显示的主题
    msg['Subject'] = "你好"
	
    ### 2.发送邮件 ### 
    server = smtplib.SMTP_SSL("smtp.126.com")
    server.login("发送人的邮
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值