首页 > 其他分享 >函数基础(上)

函数基础(上)

时间:2024-11-07 10:17:10浏览次数:3  
标签:原神 函数 形参 基础 print ys def

九 函数基础(上)

9.1 函数简介

  • 之前一直有使用 内置函数
    • print()、input()、sum()、len()、max()

函数: 可以用来保存代码,在需要的时候,对这些可执行代码进行重复利用

总结

  • 遇到重复功能的时候,直接调用即可,减少工作代码量
  • 提升项目结构性,分工明确提高可读性
  • 维护起来,方便

9.2 函数定义

定义函数

def 函数名():
    代码块
    
函数名也要遵循变量名取名规则
	1.由数字、字母、下划线组成
    2.不能由数字开头
    3.不能取关键字为名字
# 定义一个函数,名叫ys ,功能是 print4条语句
def ys():
    print("安装原神")
    print("打开原神")
    print("关闭原神")
    print("卸载原神")
  • 函数定义好后,不会直接执行,得调用函数

9.3 函数调用

语法: 函数名()
    
    
    

def ys():
    print("安装原神")
    print("打开原神")
    print("10连抽~~~~~")
    print("关闭原神")
    print("卸载原神")

# ys() # 调用函数 ys里面的代码
ys()
ys()
ys()
ys()



区分一个东西
ys   是什么  函数名==函数地址
ys() 是什么  执行函数地址里面的代码
  • 练习

    # 要求创建 login 函数 功能是输入用户名和密码,验证是否正确
    # 默认账号是root 密码123456
    
    
    def login():
        username = input("请输入用户名:")
        password = input("请输入密码:")
    
        if username == 'root' and password == '123456':
            print('登录成功')
        else:
            print("登录失败")
    
    login()
    

9.4 函数的参数

9.4.1 形参和实参

# 无参函数
def 函数名():
    代码块
    
# 含参函数
def 函数名(形参1,形参2,新参3):
    代码块
    
def sum():
    """
    强制了使用者,必须要键盘输入数据
    实际上很多情况,不是键盘输入,而是已经有数据了
    """
    a = int(input("请输入整数:"))
    b = int(input("请输入另一个整数:"))
    print(a+b)

  • 形参:形式参数,定义的时候,是无值。

    • 什么时候有值?有用户调用的时候确定值

      def sum(a,b): # a,b就是形参
          print(a+b)
      
  • 实参:实际数据,是调用者视角传递的真实数据

    • sum(100,200) # 调用函数的时候,可以在括号内传递实参
      
    
    # 定义一个函数,功能是求2个的和
    def sum(a,b):
        print(a+b)
    
    
    
    x = int(input(":"))
    y = int(input(":"))
    sum(x,y)
    
  • 细节:形参必须被实参填满值

    
    # 定义一个函数,功能是求2个的和
    def sum(a,b):
        print(a+b)
    sum(100) # 报错,定义了几个形参,就必须传递几个实参
    

9.4.2 形参默认值

def fn(a,b,c=10):
    print(f"a = {a}")
    print(f"b = {b}")
    print(f"c = {c}")


# fn(1,2,3) # c=3
fn(1,2) # c=10

9.4.3 实参的传参

1.位置方式传递
	按照对应位置传递值
    第一个实参赋值给第一个形参
    第二个实参赋值给第二个形参
    ....
    def fn(a,b,c):
        print(f"a = {a}")
        print(f"b = {b}")
        print(f"c = {c}")
2.关键字方式传递
	可以不按照位置来传递值
    def fn(a,b,c):
        print(f"a = {a}")
        print(f"b = {b}")
        print(f"c = {c}")

    fn(c=300,a=100,b=200)

    print(end="",sep="") # 实参也可以不按照位置传递
    sorted(reverse=True) # 按照形参的名字赋值传

    
    

  • 位置传递和关键字传递可以混合使用,但是要注意

    保证先使用位置传递,最后使用关键字传递,包括形参默认值定义也只能放最后
    # fn(1,2,c="彬彬") # 位置传递和关键字传递 可以混合使用
    #fn(c='彬彬',2,3) # 位置传递和关键字传递 可以混合使用
    

9.4.4 实参的类型

  • 实参可以是任意的类型
a = 123
f(a)
b = True
f(b)
c= [1,2,3]
f(c)


def ys():
    print("安装原神")
    print("打开原神")
    print("关闭原神")
    print("卸载原神")



def f(a):
    a()

f(ys) # 包括函数也能作为参数传递 


# 函数的地址是可以传递的,传递后,可以完全充当功能使用
a = print
a('hello world')

标签:原神,函数,形参,基础,print,ys,def
From: https://blog.csdn.net/2301_80202670/article/details/143507305

相关文章

  • 从 vue 源码看问题 — vue 编译器如何生成渲染函数?
    前言前两篇主要了解了vue编译器的解析和优化:将组件的html模版解析成AST对象基于AST语法树进行静态标记,首先标记每个节点是否为静态节点,然后进一步标记出静态根节点,便于在后续更新中跳过静态根节点的更新,从而提高性能下面就了解一下vue编译器是如何从AST......
  • 【前端基础】CSS高级
    目标:掌握定位的作用及特点;掌握CSS高级技巧我们想要布局页面:标准流flex可以让多个块级元素一样显示定位01-定位(重点)作用:灵活的改变盒子在网页中的位置实现:1.定位模式:position2.边偏移:设置盒子的位置leftrighttopbottom相对定位position:relative特点:不脱标......
  • C#的IDisposable 接口和析构函数
    在C#中,IDisposable接口和析构函数(即析构器)是两种不同的资源释放方式,分别用于清理托管资源和非托管资源。理解它们的差异以及如何使用它们非常重要,特别是在需要管理资源(如文件、数据库连接或内存缓冲区)的场景中。1.IDisposable接口IDisposable接口用于实现显式资源释放,通常......
  • python 常见的内置函数
    __init__:构造器,当创建对象时自动调用。__new__:创建对象时调用,在__init__之前调用。__del__:析构器,当对象被垃圾收集时调用。__str__:返回对象的字符串表示,在str()函数中调用。__repr__:返回对象的官方字符串表示,用于repr()函数和交互式解释器。__bool__:......
  • 高等数学,但用我的话来说(征程从函数开始)
    高等数学,但用我的话来说(征程从函数开始)目录‍目录高等数学,但用我的话来说(征程从函数开始)目录函数函数与白盒转换机实心与空心的区间表示法怎么“计算”我们的白盒转换机会做出什么零件垂线检验魔法检验图像是否是函数反函数白盒还原机,回收零件成为材料水平线检验魔法检验一材一......
  • 2024-2025-1 20231420《计算机基础与程序设计》第六周总结
    课程答疑实验相关1.实验环境的搭建对同学们来说相对陌生,有时会出现操作错误、字母输错等情况。建议:可以多浏览实验指导书,熟悉操作。2.C语言部分算法没能掌握透彻,在实现功能时不知道怎么写代码。建议:可以多进行练习,在写代码的过程中加深理解。3.不会绘画流程图。建议:首先理......
  • 高等数学,但用我的话来说(征程从函数开始)
    高等数学,但用我的话来说(征程从函数开始)目录‍目录高等数学,但用我的话来说(征程从函数开始)目录函数函数与白盒转换机实心与空心的区间表示法怎么“计算”我们的白盒转换机会做出什么零件垂线检验魔法检验图像是否是函数反函数白盒还原机,回收零件成为材料水平线检验魔法检验一材一......
  • 神经网络基础--什么是神经网络?? 常用激活函数是什么???
    前言本专栏更新神经网络的一些基础知识;案例代码基于pytorch;欢迎收藏+关注,本人将会持续更新。神经网络1、什么是神经网络人工神经网络(ArtificialNeuralNetwork,简写为ANN)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的计算模型。高中学生物的时候,我们可......
  • ctfshow(94,95)--PHP特性--strpos函数
    建议先学习intval函数相关内容Web94源代码:include("flag.php");highlight_file(__FILE__);if(isset($_GET['num'])){$num=$_GET['num'];if($num==="4476"){die("nonono!");}if(preg_match("......
  • 实验3 类和对象_基础编程2
    test1:task1.cpp:#include"window.hpp"#include<iostream>usingstd::cout;usingstd::cin;voidtest(){Windoww1("newwindow");w1.add_button("maximize");w1.display();w1.close();}intmain(){......