Python函数的基本使用(一)

Python函数的基本使用(一)

    • 一、函数概述
    • 二、函数的定义
      • 2.1 函数的语法
      • 2.2 语法说明
      • 2.3 函数定义的方式
      • 2.4 总结
    • 三、函数的调用
      • 3.1 函数调用语法
      • 3.2 语法说明
      • 3.3 函数调用
    • 四、函数的参数
      • 4.1 参数的分类
      • 4.2 必需参数
      • 4.3 默认值参数
      • 4.4 关键字参数
      • 4.5 不定长参数(可变参数)
    • 五、函数的返回值
      • 5.1 语法
      • 5.2 说明
      • 5.3 代码演示
        • 5.3.1 返回值的意义
        • 5.3.2 未设置返回值
        • 5.3.3 设置返回值
          • 5.3.3.1 return 单独使用时
          • 5.3.3.2 return xxx
        • 5.3.4 break和return 的区别
    • 六、函数的封装
      • 6.1 注意事项
      • 6.2 例题演示
        • 6.2.1 打印九九乘法表
        • 6.2.2 打印指定行数的九九乘法表
        • 6.2.3 判断一个数是否是偶数
        • 6.2.4 验证一个年是否是闰年
  • 欢迎使用Markdown编辑器
    • 新的改变
    • 功能快捷键
    • 合理的创建标题,有助于目录的生成
    • 如何改变文本的样式
    • 插入链接与图片
    • 如何插入一段漂亮的代码片
    • 生成一个适合你的列表
    • 创建一个表格
      • 设定内容居中、居左、居右
      • SmartyPants
    • 创建一个自定义列表
    • 如何创建一个注脚
    • 注释也是必不可少的
    • KaTeX数学公式
    • 新的甘特图功能,丰富你的文章
    • UML 图表
    • FLowchart流程图
    • 导出与导入
      • 导出
      • 导入

一、函数概述

​ 在一个完整的项目中,某些功能可能会被反复使用,如果将反复出现的代码封装成函数,以后如果要继续使用该功能则直接使用函数即可,另外,如果要修改需求,只需要修改函数即可

本质:对某些特殊功能的封装

函数的优点:

  • 简化代码结构,提高应用的模块性
  • 提高了代码的复用性
  • 提高了代码维护性

二、函数的定义

2.1 函数的语法

def  函数名(变量1,变量2....):
        函数体
        return   返回值

2.2 语法说明

  • def是一个关键字,是definition的缩写,专门定义函数
  • 函数名:遵循合法标识符的规则和规范即可,尽量做到见名知意,注意:和变量的定义类似,全部小写
  • (变量1,变量2…):被称为形式参数,是一个参数列表,都只是没有赋值的变量
  • 函数体:封装某些特殊的功能
  • return是一个关键字,表示返回,注意:只能用在函数中,表示结束函数,可以单独使用,也可以携带数据,当携带数据,则表示该函数的返回
  • 返回值:常量,变量,表达式
  • 函数的定义分为两部分:函数的声明函数的实现
  • 变量1,变量2… 和 return 返回值 可以根据具体的需求选择性的省略

2.3 函数定义的方式

  • 无参无返回值
def fun1():
    print("hello world 11111111")
  • 有参无返回值
def fun2(a, b):
    print("hello world 22222222")
  • 无参有返回值
def fun3():
    print("hello world 33333333")
    return "abc"
  • 有参有返回值
def fun4(x, y, z):
    print("hello world 44444444")
    return 10

2.4 总结

  • 函数名和变量名的本质是一样的,都是标识符
  • 定义函数之后,只是将函数加载到计算机内存中,此时函数体不会执行
  • 一个函数定义完毕之后,只有当函数被调用【使用函数】的时候,函数体才会被执行

三、函数的调用

3.1 函数调用语法

# 函数的定义
def  函数名(形参):
	pass

# 函数的调用
函数名(实参)

3.2 语法说明

  • 函数调用的本质:就是使用函数的过程,当然,同时需要注意传参的问题
  • 传参:在调用函数的过程中,实参给形参赋值的过程
  • 形参:形式参数,出现在函数的声明部分,实际上是一个变量,等待实参赋值【注意:形参本身可以赋值】
  • 实参:实际参数,出现在函数的调用部分,实际上是一个数据【常量,变量,表达式】,目的是为了给形参赋值

3.3 函数调用

  • 无参无返回值
def fun1():
    print("hello world 11111111")
   
# 函数的调用
fun1()
  • 有参无返回值

形参个数要和实参个数相等

def fun2(a, b):
    print("hello world 22222222")
    
# fun2()  # TypeError: fun2() missing 2 required positional arguments: 'a' and 'b'
fun2(1, 2)
  • 无参有返回值

有返回值,需要用一个变量来接受,此时该变量中存储的是函数的返回值

def fun3():
    print("hello world 33333333")
    return "abc"

r3 = fun3()  # 变量 = 函数() ,此时该变量中存储的是函数的返回值
print(r3)
  • 有参有返回值
def fun4(x, y, z):
    print("hello world 44444444")
    return 10

r4 = fun4(45, 3, 6)
print(r4)

四、函数的参数

4.1 参数的分类

  • 必需参数
  • 默认参数
  • 关键字参数
  • 不定长参数【可变参数】

4.2 必需参数

  • 必需参数必需传参,一定要注意实参和形参的数量匹配
  • 如果形参为空,则为空
  • 如果形参不为空,则实参和形参数量相等
  • 代码演示:
# 参数为空
def fun_a1():
    print("aaaaa____1111")

# 形参为空,实参为空
fun_a1()

# 参数不为空
def fun_a2(n1, n2):
    total = n1 + n2
    print("aaaaa____2222")

# 形参和实参数量相等
fun_a2(10, 20)

4.3 默认值参数

  • 默认值参数:给行参一个默认值
  • 默认参数主要体现在形参上
  • 当形参为多个参数时,可以全部设置成默认值参数
  • 当形参中有默认值参数时,默认值参数必需放在后面,否则将出错
  • 默认参数的好处:给参数一个默认值,可以简化函数的调用
  • 代码演示:
# 注意:默认参数主要体现在形参上,表示形参有默认值
# 默认参数的好处:给参数一个默认值,可以简化函数的调用
# 需求:求一个数和10的和
def b1(a, b=10):
    print(f"{a}+{b}的结果为{a + b}")


b1(45)  # 只需要传入a的值
b1(45, 67)


# 当形参为多个参数时,可以全部设置成默认值参数
def b2(a=20, b=10):
    print(f"{a}+{b}的结果为{a + b}")


b2()
b2(45)  # 按顺序传入参数
b2(45, 67)


# 当形参中有默认值参数时,默认值参数必需放在后面,否则将出错
# def b3(b=10, a):  # SyntaxError: non-default argument follows default argument
#     print(f"{a}+{b}的结果为{a + b}")

4.4 关键字参数

  • 关键字参数主要体现在函数的调用上,实参上
  • 使用关键字的好处,可以不按照形参的顺序传参
  • 关键字参数可以和默认值参数混合使用
  • 使用关键字参数,必须放在后面
  • 代码演示:
# 3.关键字参数
# 注意:关键字参数体现在函数的调用上,使用关键字的好处,可以不按照形参的顺序传参
def c1(name, age):
    print(f"姓名:{name},年龄:{age}")


c1("张三", 20)  # 默认顺序传参
c1(age=33, name="赵六")  # 不按照形参的顺序传参


def c2(name, age, addr="北京"):	# 关键字参数可以和默认值参数混合使用
    print(f"姓名:{name},年龄:{age},地址:{addr}")


c2("ana", 5)
c2(age=5, name="ana", addr="上海")

4.5 不定长参数(可变参数)

  • 实参可以传递若干个数据
  • *:被当做元组处理,一般后面的变量命名使用args
  • ** :被当做字典处理,一般后面的变量命名使用kwargs
  • 在同一个函数中,同种符号只能出现一次,但是*和**可以同时出现
  • 代码演示:
# 4. 不定长参数【可变参数】
# 注意:实参可以传递若干个数据
# a.*:被当作元组处理
def d1(*args):
    print(args)  # (45,)
    print(type(args))  # <class 'tuple'>


d1()
d1(45)
d1(34, 56, 78, 8, 990, 0, 0, 35, 45, 7)


# b.**:被当作字典处理
# 注意:调用有**x形式参数的函数时,需要按照key=value形式传参
def d2(**kwargs):
    print(kwargs)
    print(type(kwargs))


d2()
d2(x=4, y=2, z=24)  # {'x': 4, 'y': 2, 'z': 24},类似于字典的创建在


# 注意:在同一个函数中,同种符号只能出现一次,但是*和**可以同时出现
def d3(*args, **kwargs):
    print(args, kwargs)


d3(34, 5, 7, 8, 89, 98, 0, 0)
d3(a=10)
d3(34, 5, 7, 8, 89, 98, 0, 0, abc=49

五、函数的返回值

5.1 语法

def xxx(形参):
	函数体【某个特殊的功能】
return 返回值

5.2 说明

返回值:表示函数的运算结果,在哪里调用函数,返回值就返回到哪里

5.3 代码演示

5.3.1 返回值的意义
def func2():
    print("start:", "1" * 10)
    # 在函数内定义一个变量(局部变量)
    num1 = 66
    print("end:", "1" * 10, num1)
    return num1


r1 = func2()  # 调用了fun2函数,将func2函数的返回值赋值给r1
print(f"返回值{r1}")

print(func2() + 10)  # 调用了fun2函数,同时将函数的返回值和10进行运算

func2()  # 不需要在函数外面使用返回值,则只需要调用函数即可

注:在函数内部定义的变量,只能在当前函数的内部被访问,这里涉及到变量的作用域

函数体外使用函数内的变量,将报错: NameError: name ‘num1’ is not defined

# 定义函数
def func1():
    print("start:", "1" * 10)
    # 在函数内定义一个变量(局部变量)
    num1 = 66
    print("end:", "1" * 10, num1)


# 调用函数
func1()
# func1(num1)  # NameError: name 'num1' is not defined
5.3.2 未设置返回值

注:如果一个函数未通过return设置返回值,默认的返回值为None

def func3():
    print("2" * 10)


r2 = func3()
print(r2)  # None:空值

上诉代码等价于

def func4():
    print("2" * 10)
    return None
5.3.3 设置返回值
5.3.3.1 return 单独使用时
  • return只能用在函数中,表示结束函数
def fun3_1():
    print("start~~~~~")
    return
    # print("end~~~~~")  # 警告,该行代码永远不会执行


fun3_1()
  • 在函数中,和return平级(即对齐)的情况下,return后面不书写任何语句,否则永远没有执行的机会。
def fun3_2(n):
    print("start~~~~~")
    if n % 2 == 0:
        return
    print("end~~~~~")  # 有执行的可能性,取决于if判断结果


fun3_2(7)
5.3.3.2 return xxx
  • return作用:1、表示结束函数,2、同时将xxx数据返回到调用函数处
def fun3_3(a, b):
    total = a + b
    return total
    # print("over~~~~~")  # 警告,该行代码永远不会执行


r33 = fun3_3(34, 10)
print(r33)
  • 同一个函数中,根据条件的区分,可以设置多个 return xxx
def compare(num1, num2):
    if num1 > num2:
        return 1
    elif num1 < num2:
        return -1
    else:
        return 0


print(compare(29, 18))
print(compare(66, 88))
print(compare(18, 18))
  • 上述函数代码可以优化,else可以省略
def compare1(num1, num2):
    if num1 > num2:
        return 1
    elif num1 < num2:
        return -1
    return 0

  • return后面还可以接多个数据
def fun3_4():
    return 1, 234, 45.34, "abc"  # 结果为元组,打包


r34 = fun3_4()
print(r34)
5.3.4 break和return 的区别
  • break结束当前循环,break只能使用在循环中,表示结束当前循环
def fun4_1():
    print("start~~~~~")
    for n in range(3):
        for m in range(5):
            print(n, m)
            if m == 1:
                break  # break结束当前循环,break只能使用在循环中,表示结束当前循环
    print("end~~~~~")


fun4_1()
  • return只能使用在函数中,表示结束函数,无论return处于多少层循环中
def fun4_2():
    print("start~~~~~")
    for n in range(3):
        for m in range(5):
            print(n, m)
            if m == 1:
                return  # return只能使用在函数中,表示结束函数,无论return处于多少层循环中
    print("end~~~~~")


fun4_2()

六、函数的封装

6.1 注意事项

  • 观察需求,是否有未知项参与运算,如果有,则将未知项设置为参数
  • 观察需求,函数执行完毕之后,是否有结构,如果有,则将结果设置为返回值

6.2 例题演示

6.2.1 打印九九乘法表

def my_print():
    for i in range(1, 10):
        for j in range(1, i + 1):
            print(f"{j} * {i} = {j * i}", end="\t")
        print()


my_print()
6.2.2 打印指定行数的九九乘法表
def my_print2(n):
    for i in range(1, n + 1):
        for j in range(1, i + 1):
            print(f"{j} * {i} = {j * i}", end="\t")
        print()


my_print2(3)
my_print2(5)
6.2.3 判断一个数是否是偶数
def iseven(num):
    if num % 2 == 0:
        return True
    return False


r1 = iseven(6)
print(r1)
r2 = iseven(7)
print(r2)
6.2.4 验证一个年是否是闰年
def isleapyaer(year):
    if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
        return True
    return False


y1 = isleapyaer(100)
print(y1)

这里写自定义目录标题

    • 一、函数概述
    • 二、函数的定义
      • 2.1 函数的语法
      • 2.2 语法说明
      • 2.3 函数定义的方式
      • 2.4 总结
    • 三、函数的调用
      • 3.1 函数调用语法
      • 3.2 语法说明
      • 3.3 函数调用
    • 四、函数的参数
      • 4.1 参数的分类
      • 4.2 必需参数
      • 4.3 默认值参数
      • 4.4 关键字参数
      • 4.5 不定长参数(可变参数)
    • 五、函数的返回值
      • 5.1 语法
      • 5.2 说明
      • 5.3 代码演示
        • 5.3.1 返回值的意义
        • 5.3.2 未设置返回值
        • 5.3.3 设置返回值
          • 5.3.3.1 return 单独使用时
          • 5.3.3.2 return xxx
        • 5.3.4 break和return 的区别
    • 六、函数的封装
      • 6.1 注意事项
      • 6.2 例题演示
        • 6.2.1 打印九九乘法表
        • 6.2.2 打印指定行数的九九乘法表
        • 6.2.3 判断一个数是否是偶数
        • 6.2.4 验证一个年是否是闰年
  • 欢迎使用Markdown编辑器
    • 新的改变
    • 功能快捷键
    • 合理的创建标题,有助于目录的生成
    • 如何改变文本的样式
    • 插入链接与图片
    • 如何插入一段漂亮的代码片
    • 生成一个适合你的列表
    • 创建一个表格
      • 设定内容居中、居左、居右
      • SmartyPants
    • 创建一个自定义列表
    • 如何创建一个注脚
    • 注释也是必不可少的
    • KaTeX数学公式
    • 新的甘特图功能,丰富你的文章
    • UML 图表
    • FLowchart流程图
    • 导出与导入
      • 导出
      • 导入

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

2014-01-07 2014-01-09 2014-01-11 2014-01-13 2014-01-15 2014-01-17 2014-01-19 2014-01-21 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/214054.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaEE 多线程

JavaEE 多线程 文章目录 JavaEE 多线程引子多线程1. 特性2. Thread类2.1 概念2.2 Thread的常见构造方法2.3 Thread的几个常见属性2.4 启动一个线程2.5 中断一个线程2.6 等待一个线程2.7 获取当前线程引用2.8 休眠当前线程 3. 线程状态 引子 当进入多线程这一块内容时&#xff…

《微信小程序开发从入门到实战》学习四十

4.2 云开发JSON数据库 4.2.11 更新数据 使用数据库API更新数据有两种方法&#xff1a;一.将记录局部更新的update方法&#xff1b;二.以替换的方式更新记录的set方法 update方法可以局部更新一个记录或一个集合的多个记录&#xff0c;更新时只有指定字段更新&#xff0c;其他…

基于英特尔平台及OpenVINO2023工具套件优化文生图任务

当今&#xff0c;文生图技术在很多领域都得到了广泛的应用。这种技术可以将文本直接转换为逼真的图像&#xff0c;具有很高的实用性和应用前景。然而&#xff0c;由于文生成图任务通常需要大量的计算资源和时间&#xff0c;如何在英特尔平台上高效地完成这些计算是一个重要的挑…

Spring Cloud Alibaba简介

1、简介 Spring Cloud阿里(https://sca.aliyun.com/en-us/)为分布式应用开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件&#xff0c;使您可以轻松地使用Spring Cloud开发应用程序。 有了Spring Cloud阿里&#xff0c;你只需要添加一些注释和少量的配置&#…

32、直流电机驱动(PWM)

直流电机介绍 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极&#xff0c;当电极正接时&#xff0c;电机正转&#xff0c;当电极反接时&#xff0c;电机反转 直流电机主要由永磁体&#xff08;定子&#xff09;、线圈&#xff08;转子&#xff09;和换向器…

[传智杯 #3 决赛] 面试

题目背景 disangan233 和 disangan333 去面试了&#xff0c;面试官给了一个问题&#xff0c;热心的你能帮帮他们吗&#xff1f; 题目描述 现在有 n 个服务器&#xff0c;服务器 i 最多能处理 ai​ 大小的数据。 接下来会有 k 条指令 bk​&#xff0c;指令 i 表示发送 bi​ …

JavaWeb-XML

1.常见的配置文件 1.1 properties 数据库的连接就使用properties文件作为配置文件&#xff0c;properties文件中的配置信息是以键值对的形式存储的。 beiluo.jdbc.urljdbc:mysql://localhost:3306/beiluo beiluo.jdbc.drivercom.mysql.cj.jdbc.Driver beiluo.jdbc.usernamer…

基于Java SSM框架实现师生交流答疑作业系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现师生交流答疑作业系统演示 摘要 在新发展的时代&#xff0c;众多的软件被开发出来&#xff0c;给用户带来了很大的选择余地&#xff0c;而且人们越来越追求更个性的需求。在这种时代背景下&#xff0c;人们对师生交流平台越来越重视&#xff0c;更好的实…

6-13连接两个字符串

#include<stdio.h> int main(){int i0,j0;char s1[222],s2[333];printf("请输入第一个字符串&#xff1a;\n");gets(s1);//scanf("%s",s1);printf("请输入第二个字符串&#xff1a;\n");gets(s2);while(s1[i]!\0)i;while(s2[j]!\0)s1[i]s2…

DevEco Studio 调整开发工具中的字体大小与行高

我们打开编辑器 选择 左上角 File 下的 Settings 将左侧菜单栏 编辑 展开 我们在编辑下面 选择 Font 然后 如下图指向的两个位置 我们可以调整它的字体大小和行高 设置好之后 右下角 点击 Apply 应用 然后点击 OK即可 当然 你按着 Ctrl 然后鼠标滚动 也可以像浏览器那样 拉…

React如何像Vue一样将css和js写在同一文件

如果想在React中想要像Vue一样把css和js写到一个文件中&#xff0c;可以使用CSS-in-JS。 使用CSS-in-JS 下载 npm i styled-components使用 就像写scss一样&#xff0c;不过需要声明元素的类型 基本语法及展示如下&#xff0c; import styled from "styled-component…

03 数仓平台 Kafka

kafka概述 定义 Kafka 是一个开源的分布式事件流平台&#xff08;Event Streaming Plantform&#xff09;&#xff0c;主要用于大数据实时领域。本质上是一个分布式的基于发布/订阅模式的消息队列&#xff08;Message Queue&#xff09;。 消息队列 在大数据场景中主要采用…

Python编程技巧 – 迭代器(Iterator)

Python编程技巧 – 迭代器(Iterator) By JacksonML Iterator(迭代器)是Python语言的核心概念之一。它常常与装饰器和生成器一道被人们提及&#xff0c;也是所有Python书籍需要涉及的部分。 本文简要介绍迭代器的功能以及实际的案例&#xff0c;希望对广大读者和学生有所帮助。…

YOLOv5改进 | 添加ECA注意力机制 + 更换主干网络之ShuffleNetV2

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。本文给大家介绍一种轻量化部署改进方式&#xff0c;即在主干网络中添加ECA注意力机制和更换主干网络之ShuffleNetV2&#xff0c;希望大家学习之后&#xff0c;能够彻底理解其改进流程及方法~&#xff01;&#x1f308; 目…

使用idea如何快速的搭建ssm的开发环境

文章目录 唠嗑部分言归正传1、打开idea&#xff0c;点击新建项目2、填写信息3、找到pom.xml先添加springboot父依赖4、添加其他依赖5、编写启动类、配置文件6、连接创建数据库、创建案例表7、安装MybatisX插件8、逆向工程9、编写controller10、启动项目、测试 结语 唠嗑部分 小…

剪切空间与归一化设备坐标【NDC】

有了投影变换的知识&#xff0c;我们现在可以讨论剪切空间&#xff08;Clip Space&#xff09;和 归一化设备坐标&#xff08;NDC&#xff1a;Normalized Device Coordinates&#xff09;。 为了理解这些主题&#xff0c;我们还需要深入了解齐次坐标的有趣世界。 NSDT工具推荐&…

解决:UnboundLocalError: local variable ‘js’ referenced before assignment

解决&#xff1a;UnboundLocalError: local variable ‘js’ referenced before assignment 文章目录 解决&#xff1a;UnboundLocalError: local variable js referenced before assignment背景报错问题报错翻译报错位置代码报错原因解决方法今天的分享就到此结束了 背景 在使…

Python、Stata、SPSS怎么学?推荐一波学习资料

1.Python学习推荐书目 关于Python机器学习&#xff0c;推荐学习杨维忠、张甜所著的&#xff0c;清华大学出版社出版的《Python机器学习原理与算法实现》&#xff0c;以及张甜、杨维忠所编著的&#xff0c;清华大学出版社出版的《Python数据科学应用从入门到精通》&#xff0c;…

柯桥英语口语学习,日常生活用语军大衣用英语怎么说?

那么军大衣跟羽绒服用英语怎么说呢&#xff1f; 跟商英君一起学习一下吧&#xff01; 01 "军大衣"用英语怎么说&#xff1f; 军大衣在英语表达中 也有专门的词汇 即military coat 或 military style cotton coats military有“军人、军事;军事的、军用的…”的…
最新文章