提交 cc1e285c 编写于 作者: S star

Python函数

上级 b5cfda69
......@@ -1593,4 +1593,116 @@ this_set = set(my_dict)
---
### 10.函数
\ No newline at end of file
### 10.函数
函数(function)也是一个对象,函数可以用来保存一些可执行代码,在需要时对这些代码进行多次调用。
**函数创建与调用**
定义无参数的函数:
~~~python
def my_function():
print("This is a function")
~~~
函数中保存的代码不会立即执行,只有当调用时才会执行。
调用函数:my_function()
定义带参数的函数:
~~~python
def add_num(a, b):
return a + b
~~~
定义函数时,括号里的参数叫形参,相当于在函数内部声明的变量,但是并不赋值。
函数调用:
~~~python
print(add_num(8, 9))
~~~
调用函数时,函数括号里的值叫做实参,实参将会赋值给对应的形参,有几个形参就要传几个实参。
> 在 Python 中定义形参时,可以为末尾的一个或多个形参指定默认值,当调用函数没有传递该参数时,将会使用默认值;如果传递了该参数,则默认值失效。
>
> ~~~python
> def add_num(a, b, c=10):
> return a + b + c
> ~~~
**参数传递方式**
位置参数:将对应位置的实参赋值给对应位置的实参。
关键字参数:可以不按照形参定义的顺序去传递,而是根据参数名进行传递。
~~~python
def add_num(a, b):
return a + b
# 使用关键字传参
add_num(b=30, a=20):
~~~
> 位置参数和关键字参数key混合使用:
>
> ~~~python
> def add_num(a, b, c=10, d=30):
> return a + b + c + d
> # 位置参数和关键字参数混合使用
> print(add_num(8, 9, d=20))
> ~~~
>
> 注意:两种传参混合使用时,关键字传参必须放在末尾。
注意:函数在调用时,Python 不会去检查实参的类型,我们可以传入任意类型的参数,所以在函数内部,我们有时候需要去检查传入参数的类型,然后再进行逻辑处理。
在函数中对形参进行重新赋值不会影响到其他变量:
~~~python
def my_function(a):
a = 20
b = 15
my_function(b)
print(b)
~~~
此时在函数外,b 的值仍然是 15。
对于可变对象,如果在函数中更改变量的值,其他变量也会受到影响:
~~~python
def my_function(a):
a[0] = 20
b = [15, 20]
my_function(b)
print(b)
~~~
此时 b 列表也会变为 [20, 20],如果在运行函数时不希望改变 b 的值,应该传入 b.copy() 或 b[:]。
**不定长参数**
在定义形参时,在参数前面加上一个 * 号,此时这个形参将会获取到所有传入的实参并封装为 tuple。
~~~python
def add_num(*a):
result = 0
for i in a:
result += i
return result
print(add_num(1, 3, 5, 6, 8))
~~~
**目录**
1. [前言](#1前言)
---
### 1.前言
软件的分类?
1. 系统软件:Windows、Linux、macOS
2. 应用软件:QQ影音、微信、Office
3. 游戏:绝地求生、英雄联盟
一般来说,现在的软件都包含客户端和服务器,用户通过客户端操作软件,服务器负责在远程处理业务逻辑。
服务器开发所使用的语言:Java、PHP、C#、Python...
客户端的形式:文字客户端(命令行)、图形化界面(C/S架构)、**网页**(B/S架构)
网页客户端的优点:
1. 不需要安装
2. 不需要更新
3. 跨平台
所以一般来说,前端开发主要是开发网页客户端,网页客户端开发所使用的语言:HTML、CSS、JavaScript
**万维网**
World Wide Web,即 www,由英国科学家 [蒂姆·伯纳斯·李](https://baike.baidu.com/item/%E8%92%82%E5%A7%86%C2%B7%E4%BC%AF%E7%BA%B3%E6%96%AF%C2%B7%E6%9D%8E/) 发明,他创建了世界上第一个服务器和第一个网站。
**浏览器**
有了浏览器,我们只需要一个网址就能访问到任何的网站,前端工程师负责编写网页的源代码,浏览器负责渲染成我们想要的样子。
**W3C**
在万维网的初期,网页编写并没有标准,导致各种浏览器之间的渲染出现较大差异,为了解决这个问题,伯纳斯·李 于 1994 年建立了万维网联盟(W3C),为网页开发制定了一系列的标准,直到今天,我们开发网页时都需要遵循 W3C 所制定的标准。
根据 W3C 标准,一个网页由 3 部分构成:结构(HTML)、表现(CSS)和行为(JavaScript)。
---
### 2.HTML
Hyper Text Markup Language,超文本标记语言,它负责网页的结构,它使用标签的形式来标识网页的不同组成部分。
超文本:指超链接,通过超链接我们可以从一个页面跳转到另一个页面。
在 HTML 中,使用 `<标签名>xxx</标签名>` 来标识内容,如:`<h1></h1>``<p></p>` 等。
一个 HTML 文件中,一般都有下列标签:
- html:最外层标签,标识 HTML 版本,为浏览器指明这是一个 HTML 文件。
- head:网页的元数据,head 标签中的数据不会被显示,供浏览器解析和搜索引擎搜索使用。
- title:浏览器标签页名称。
- body:网页的所有可见内容都应该包含在 body 中,是网页的核心内容。
> 自结束标签:在 HTML 中标签一般成对出现,但也存在一些自结束标签,如:`<img>` 或 `<img />`,`<input>` 或 `<input />`
>
> 注:在 HTML5 中,官方建议自闭合标签不加斜杠 /。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册