From cc1e285cb73f42594f6ce7de09a0b14144a747ec Mon Sep 17 00:00:00 2001 From: star <1563232784@qq.com> Date: Thu, 31 Dec 2020 00:35:58 +0800 Subject: [PATCH] =?UTF-8?q?Python=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Python\345\237\272\347\241\200.md" | 114 +++++++++++++++++- ...15\347\253\257\345\237\272\347\241\200.md" | 75 ++++++++++++ 2 files changed, 188 insertions(+), 1 deletion(-) diff --git "a/notes/Python\350\257\255\350\250\200/Python\345\237\272\347\241\200/Python\345\237\272\347\241\200.md" "b/notes/Python\350\257\255\350\250\200/Python\345\237\272\347\241\200/Python\345\237\272\347\241\200.md" index 7893114..e89cdf0 100644 --- "a/notes/Python\350\257\255\350\250\200/Python\345\237\272\347\241\200/Python\345\237\272\347\241\200.md" +++ "b/notes/Python\350\257\255\350\250\200/Python\345\237\272\347\241\200/Python\345\237\272\347\241\200.md" @@ -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)) +~~~ + diff --git "a/notes/\345\211\215\347\253\257/\345\211\215\347\253\257\345\237\272\347\241\200/\345\211\215\347\253\257\345\237\272\347\241\200.md" "b/notes/\345\211\215\347\253\257/\345\211\215\347\253\257\345\237\272\347\241\200/\345\211\215\347\253\257\345\237\272\347\241\200.md" index e69de29..94e923f 100644 --- "a/notes/\345\211\215\347\253\257/\345\211\215\347\253\257\345\237\272\347\241\200/\345\211\215\347\253\257\345\237\272\347\241\200.md" +++ "b/notes/\345\211\215\347\253\257/\345\211\215\347\253\257\345\237\272\347\241\200/\345\211\215\347\253\257\345\237\272\347\241\200.md" @@ -0,0 +1,75 @@ +**目录** + +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` 来标识内容,如:`

`,`

` 等。 + +一个 HTML 文件中,一般都有下列标签: + +- html:最外层标签,标识 HTML 版本,为浏览器指明这是一个 HTML 文件。 +- head:网页的元数据,head 标签中的数据不会被显示,供浏览器解析和搜索引擎搜索使用。 + - title:浏览器标签页名称。 +- body:网页的所有可见内容都应该包含在 body 中,是网页的核心内容。 + +> 自结束标签:在 HTML 中标签一般成对出现,但也存在一些自结束标签,如:`` 或 ``,`` 或 `` +> +> 注:在 HTML5 中,官方建议自闭合标签不加斜杠 /。 + -- GitLab