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

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

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

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

文章目录

Linux基础

在评论区找到的讲义:

B站的Python课程讲义

Python基础

一、Python介绍

001-Python的起源

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

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

002-为什么选择Python?

在这里插入图片描述

003-Python 特点

在这里插入图片描述

004-Python 的优缺点

在这里插入图片描述

二、第一个Python 程序

在这里插入图片描述

001-第一个HelloPython程序

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

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

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

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

在这里插入图片描述

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

CentOS-python3命令安装

在这里插入图片描述

在这里插入图片描述

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插件

设置解释器版本:

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

三、开始基础学习

001-注释

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

错误写法:

在这里插入图片描述

正确写法:

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

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

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

002-算数运算符

在这里插入图片描述

算数运算符的优先级:

在这里插入图片描述

003-程序执行原理

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

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

(2)程序执行原理

在这里插入图片描述

python程序的执行原理:

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

在这里插入图片描述

(3)程序的作用

在这里插入图片描述


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

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

004-变量

(1)变量的定义

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

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

(2)变量的类型

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

在这里插入图片描述

A. 变量类型演练——个人信息

在这里插入图片描述

B. 变量的类型

在这里插入图片描述

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

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)递归函数

在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/m0_52041525/article/details/124055384