Python学习笔记(1)---B站黑马程序员

2022年05月12日 阅读数:3
这篇文章主要向大家介绍Python学习笔记(1)---B站黑马程序员,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

Python学习笔记(1)—B站黑马程序员html

Python学习笔记(2)—B站黑马程序员python

Python学习笔记(3)—B站黑马程序员
程序员

文章目录

Linux基础

在评论区找到的讲义:

B站的Python课程讲义web

Python基础

1、Python介绍

001-Python的起源

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

002-为何选择Python?

在这里插入图片描述

003-Python 特色

在这里插入图片描述

004-Python 的优缺点

在这里插入图片描述

2、第一个Python 程序

在这里插入图片描述

001-第一个HelloPython程序

在这里插入图片描述
在这里插入图片描述

我使用的是Cent OS,不是Ubuntu。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用python2(默认不支持中文):

在这里插入图片描述

使用python3(默认支持中文):
个人CentOS没有python3命令要安装

CentOS-python3命令安装centos

在这里插入图片描述

在这里插入图片描述

002- python 2.x 和 3.x版本介绍

在这里插入图片描述
在这里插入图片描述

003-执行 Python程序的三种方式

3.1 解释器 python / python3

在这里插入图片描述

3.2 交互式运行 python程序

在这里插入图片描述

1)交互式运行 python的优缺点

在这里插入图片描述

2)退出官方的解释器

在这里插入图片描述
在这里插入图片描述

3)IPython

在这里插入图片描述

个人centos7里没有ipython和ipython3命令,百度搜了一下安装。

3.3 Python 的 IDE —— PyCharm

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

004-PyCharm的初始设置

我没有把PyCharm下载到虚拟机上使用,直接下载到了本机。
下载了自动补全插件:
	TabNine插件
	Kite插件

设置解释器版本:

在这里插入图片描述
在这里插入图片描述

3、开始基础学习

001-注释

(1)单行注释
	以#开头,规定:#后空一格再写注释

错误写法:

在这里插入图片描述

正确写法:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)多行注释
	一对连续的三个引号(单引号,双引号均可以)

在这里插入图片描述
在这里插入图片描述

002-算数运算符

在这里插入图片描述

算数运算符的优先级:

在这里插入图片描述

003-程序执行原理

(1)计算机中的三大件:

在这里插入图片描述
在这里插入图片描述

(2)程序执行原理

在这里插入图片描述

python程序的执行原理:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(3)程序的做用

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

程序用来处理数据,变量用来存储数据

004-变量

(1)变量的定义

变量的定义:
变量名 = 值
每一个变量在使用前必须赋值,每一个变量赋值以后该变量才会被建立

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述app

(2)变量的类型

在python中,定义变量是不须要指定变量的类型的;
在运行的时候,pyrhon解释器会根据赋值语句等号右边的数据,自动推导出变量中保存的数据的数据类型。

在这里插入图片描述框架

A. 变量类型演练——我的信息

在这里插入图片描述

B. 变量的类型

在这里插入图片描述

可使用函数 type(变量名) 判断变量的数据类型
在python 2.x 里 分int 和 long
在python 3,x 里只有int
svg

C. 不一样类型变量之间的计算

在这里插入图片描述
在这里插入图片描述

D. 变量的输入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

E. 变量的格式化输出(重要)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)变量的命名

A. 标识符

在这里插入图片描述

B. 关键字

在这里插入图片描述
在这里插入图片描述

C. 变量的命名规则

在这里插入图片描述

python中不建议使用驼峰命名规则

005-判断 if 语句

在这里插入图片描述

(1)基本语法

在这里插入图片描述

演练:

在这里插入图片描述
if语句和下面全部带缩进的代码是一个完整的代码块,都包括在if条件语句内。函数

如何判断if语句内有哪些代码:点旁边的减号- 加号+

在这里插入图片描述
在这里插入图片描述

(2)else处理条件不知足的状况

在这里插入图片描述

演练:

在这里插入图片描述

input 返回str类型,要进行类型转换

(3)逻辑运算符

在这里插入图片描述

A. and

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

B. or

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

C. not

在这里插入图片描述
在这里插入图片描述

(4)if 语句进阶

A. elif

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

B. if 语句嵌套

在这里插入图片描述
在这里插入图片描述

多行同时缩进:选中多行+Tab
缩进多了,往前退:shift+Tab

(5)综合应用——石头剪刀布

在这里插入图片描述

生成随机数

在这里插入图片描述
在这里插入图片描述

006-运算符

(1)算数运算符

在这里插入图片描述

(2)比较(关系)运算符

在这里插入图片描述

(3)逻辑运算符

在这里插入图片描述

(4)赋值运算符

在这里插入图片描述

(5)运算符的优先级

在这里插入图片描述

007-循环

(1)程序的三大流程

在这里插入图片描述
在这里插入图片描述

(2)while循环基本语法

在这里插入图片描述
在这里插入图片描述

(3)python中的计数方法

在这里插入图片描述
养成习惯,计数从0开始
在这里插入图片描述
在这里插入图片描述工具

(4)break

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(5)continue

在这里插入图片描述

(6)while循环嵌套

在这里插入图片描述

(7)while循环嵌套演练——九九乘法表

在这里插入图片描述
在这里插入图片描述
print()函数默认在输出完以后换行
若是不但愿换行,添加 end=“”
print(“…”, end=“”)
end=“这里也能够写东西”
单纯的换行能够:print()

在这里插入图片描述
print(" * " ,end=“”) —>能够改成—>print(end=" * ") 一样是不换行输出
在这里插入图片描述
在这里插入图片描述

字符串中的转义字符(重要)

在这里插入图片描述
\t 转义字符的功能是能够在不使用表格的状况下在 垂直方向 按列对齐文本
在这里插入图片描述

在这里插入图片描述

008-函数

在这里插入图片描述

(1)函数的基本使用

A. 函数的定义

在这里插入图片描述

B. 函数的调用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

PyCharm的调试工具

在这里插入图片描述

函数的文档注释

在这里插入图片描述
函数的文档注释:
写在函数定义的下方第一行,该行开头空4个空格;
而后六个引号,在引号之间写注释;
若是该函数有参数,也要给参数进行注释,在第三个引号后回车,就会出现注释;
在函数调用位置使用快捷键 ctrl+Q 就能够看到函数的注释信息。

好比:

在这里插入图片描述

(2)函数的参数

在这里插入图片描述

A. 函数参数的使用

在这里插入图片描述

B. 参数的做用

在这里插入图片描述

C. 形参和实参

在这里插入图片描述

(3)函数的返回值

在这里插入图片描述
注意:return表示返回,该函数中的后续代码都不会被执行。

(4)函数的嵌套调用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(5)使用模块中的函数

A. 模块概念

在这里插入图片描述

B. 第一个模块体验

在这里插入图片描述

C. 模块名也是一个标识符

在这里插入图片描述

D. Pyc文件(了解)

在这里插入图片描述

009-高级变量类型

在这里插入图片描述
在这里插入图片描述

(1)列表

A. 列表的定义

在这里插入图片描述
在这里插入图片描述

B. 列表的经常使用操做

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

del 关键字:
在平常开发中,从列表中删除数据,使用列表提供的方法,不使用 del

在这里插入图片描述


在这里插入图片描述
对于某个方法不知道怎么用:能够将鼠标放在该方法上,再按下 Ctrl+Q 就行了


在这里插入图片描述


在这里插入图片描述

C. 列表的循环遍历

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

D. 列表的应用场景

在这里插入图片描述

(2)元组

A. 元组的定义

在这里插入图片描述
元组定义以后,不能对元组进行增删改操做,即元组的元素不能修改。
虽然列表能够存储不一样类型的数据,可是通常是在列表中存储相同类型的数据;
元组中能够存储不一样类型的数据。

在这里插入图片描述

B. 元组的经常使用操做

在这里插入图片描述
在这里插入图片描述

C. 元组的循环遍历

在这里插入图片描述

在这里插入图片描述
通常对于元组进行循环遍历的操做不是不少,由于元组中的数据类型能够不一样,没法进行具体的操做。

D. 元组的应用场景

在这里插入图片描述
在这里插入图片描述

E. 元组和列表之间的转换

在这里插入图片描述

(3)字典

A. 字典的定义

在这里插入图片描述
在这里插入图片描述

B. 字典的经常使用操做

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

C. 字典的循环遍历

在这里插入图片描述

在这里插入图片描述

D. 字典的应用场景

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)字符串

A. 字符串的定义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

B. 字符串的经常使用方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
空白字符:空格,\t,\r,\n,等看不见的字符


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

poem_str.strip()返回一个新的字符串,再.center()居中对齐

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

C. 字符串的切片

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(5)上面四种数据类型的公共方法

A. python内置函数

在这里插入图片描述

在这里插入图片描述


字符串,列表,字典,可使用max() min()
在这里插入图片描述
在这里插入图片描述
max()和min()函数对于字典只针对key比较


python 3.x取消了 cmp() 函数 比较两个数
可是可使用比较运算符比较 数字,字符串,列表,元组,可是两个字典之间没法进行比较。

在这里插入图片描述

B.切片

在这里插入图片描述
在这里插入图片描述

C.运算符

在这里插入图片描述

字符串,列表,元组,均可以利用 * 进行重复:

在这里插入图片描述


字符串,列表,元组,可使用 + 进行拼接合并:

在这里插入图片描述

列表的extend()方法,append()方法,也能够实现上述效果:
	可是extend()方法,append()方法,修改的是原列表,而 + 会生成一个新列表。
	
	原列表.extend(列表)方法,会将列表的元素追加到原列表尾部;
	原列表.append(元素/列表)方法:
		添加元素/列表到原列表,若是参数是列表,会将该列表看做是一个元素添加到原列表中

在这里插入图片描述


在这里插入图片描述

成员运算符:in,not in,能够做用于 字符串,列表,元组,字典。
可是字典,只能做用于字典的key。

在这里插入图片描述

D.完整的 for 循环语法

在这里插入图片描述

当for循环结束以后,会执行else下的代码;
当循环体代码中出现break时,else下的代码不会执行。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

010-综合应用——名片管理系统

在这里插入图片描述
在这里插入图片描述

(1)框架搭建

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述


在cards_tools中,写一个函数来实现欢迎界面:
	再在cards_main中导入cards_tools模块,使用函数。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


1.3 在cards_tools模块中再新增另外三个功能的函数的框架

再在cards_main中导入cards_tools模块,使用其中的函数。

在这里插入图片描述
在这里插入图片描述

(2)保存名片数据的结构

在这里插入图片描述

(3)实现新增名片功能

在这里插入图片描述

如何同时修改屡次出现的一个变量名?
右键变量名—>Refactor—>Rename—>Rname code occurrences

(4)实现显示全部名片功能

在这里插入图片描述
在这里插入图片描述

(5)实现查询功能

在这里插入图片描述
在这里插入图片描述

(6)实现 处理查找到的名片记录

在这里插入图片描述
在这里插入图片描述

如何快速给一个函数添加注释:鼠标放在函数名上,点击小灯泡,
点击 Insert a doucmentation string stub

(7)在Linux中如何不使用解释器来执行文件

通常在命令终端输入命令:python3 文件名
来执行文件
python3 就是解释器

也能够不使用解释器执行文件:切换到文件目录,输入 ./文件名
为何这样也能够?
	在要执行的文件的第一行加上:	
		#! python3解释器的路径
	而后给该文件加上可执行权限
	就可使用 ./文件名 的方式 运行这个文件

在这里插入图片描述

011-变量进阶

(1)变量的引用

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)可变和不可变类型

在这里插入图片描述

不可变数据类型,在内存中的数据不能被修改;
可变数据类型,可使用append()等方法,改变内存中的数据,可是该内存的地址不会被修改。
可是使用 = 赋值语句,内存地址是不同的:
	如 a = [1,2,3]
	和 a = [3,2,1]
	这两个a保存的内存地址是不同的。  

在这里插入图片描述

字典的key只能使用不可变数据类型:数字,字符串,元组
不能使用可变数据类型:列表,字典
value可使用任意类型的数据

在这里插入图片描述

hash()函数只接收一个不可变类型的数据做为参数

在这里插入图片描述
在这里插入图片描述

(3)局部变量和全局变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

012-函数进阶

(1)函数的参数和返回值的做用

在这里插入图片描述

(2)函数的返回值 进阶

在这里插入图片描述
在这里插入图片描述

返回多个结果可使用元组;若是函数返回的类型是元组,小括号能够省略。
在这里插入图片描述
在这里插入图片描述

若是函数返回的类型是元组,同时但愿单独处理元组中的元素;
可使用多个变量,一次接收函数的返回结果。

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

(3)函数的参数 进阶

A. 不可变和可变的参数

在这里插入图片描述

不管传递的参数类型是 可变 仍是 不可变,在函数内部针对参数使用 赋值语句,不会影响调用函数时传递的实参变量。


在这里插入图片描述

若是传递的参数是 可变类型,在函数内部,使用 方法 修改了参数,外部实参一样会改变。


在这里插入图片描述

对于列表变量:
	列表1 = 列表1 + 列表1  --->  正常的赋值  (函数内部的参数变化不会影响函数外部的参数)
	列表1 += 列表1      ---->  +=  至关于 extend()方法  (函数内部的参数变化会影响函数外部的参数)
	这两个是不同的。

对于其余类型的变量,列表1 += 列表1  和  列表1 = 列表1 + 列表1  是同样的。  
						--->  正常的赋值 (函数内部的参数变化不会影响函数外部的参数)

B.缺省参数

在这里插入图片描述


在这里插入图片描述

gender = True

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

C.多值参数(知道)

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

为何不直接传一个元组?
	若是直接传一个元组:
	def sum_numbers(agrs):
		...
	
	print(sum_numbers((1,2,3)))
	这样更麻烦。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

demo(*gl_nums, **gl_dict) 与 demo(1, 2, 3, name="小明", age=18) 输出结果相同

(4)递归函数

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述