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

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

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

文章目录

  • Linux基础
  • Python基础
  • 一、Python介绍
    • 001-Python的起源
    • 002-为什么选择Python?
    • 003-Python 特点
    • 004-Python 的优缺点
  • 二、第一个Python 程序
    • 001-第一个HelloPython程序
    • 002- python 2.x 和 3.x版本介绍
    • 003-执行 Python程序的三种方式
      • 3.1 解释器 python / python3
      • 3.2 交互式运行 python程序
        • 1)交互式运行 python的优缺点
        • 2)退出官方的解释器
        • 3)IPython
      • 3.3 Python 的 IDE —— PyCharm
    • 004-PyCharm的初始设置
  • 三、开始基础学习
    • 001-注释
    • 002-算数运算符
    • 003-程序执行原理
      • (1)计算机中的三大件:
      • (2)程序执行原理
      • (3)程序的作用
    • 004-变量
      • (1)变量的定义
      • (2)变量的类型
        • A. 变量类型演练——个人信息
        • B. 变量的类型
        • C. 不同类型变量之间的计算
        • D. 变量的输入
        • E. 变量的格式化输出(重要)
      • (3)变量的命名
        • A. 标识符
        • B. 关键字
        • C. 变量的命名规则
    • 005-判断 if 语句
      • (1)基本语法
      • (2)else处理条件不满足的情况
      • (3)逻辑运算符
        • A. and
        • B. or
        • C. not
      • (4)if 语句进阶
        • A. elif
        • B. if 语句嵌套
      • (5)综合应用——石头剪刀布
        • 生成随机数
    • 006-运算符
      • (1)算数运算符
      • (2)比较(关系)运算符
      • (3)逻辑运算符
      • (4)赋值运算符
      • (5)运算符的优先级
    • 007-循环
      • (1)程序的三大流程
      • (2)while循环基本语法
      • (3)python中的计数方法
      • (4)break
      • (5)continue
      • (6)while循环嵌套
      • (7)while循环嵌套演练——九九乘法表
        • 字符串中的转义字符(重要)
    • 008-函数
      • (1)函数的基本使用
        • A. 函数的定义
        • B. 函数的调用
          • PyCharm的调试工具
          • 函数的文档注释
      • (2)函数的参数
        • A. 函数参数的使用
        • B. 参数的作用
        • C. 形参和实参
      • (3)函数的返回值
      • (4)函数的嵌套调用
      • (5)使用模块中的函数
        • A. 模块概念
        • B. 第一个模块体验
        • C. 模块名也是一个标识符
        • D. Pyc文件(了解)
    • 009-高级变量类型
      • (1)列表
        • A. 列表的定义
        • B. 列表的常用操作
        • C. 列表的循环遍历
        • D. 列表的应用场景
      • (2)元组
        • A. 元组的定义
        • B. 元组的常用操作
        • C. 元组的循环遍历
        • D. 元组的应用场景
        • E. 元组和列表之间的转换
      • (3)字典
        • A. 字典的定义
        • B. 字典的常用操作
        • C. 字典的循环遍历
        • D. 字典的应用场景
      • (4)字符串
        • A. 字符串的定义
        • B. 字符串的常用方法
        • C. 字符串的切片
      • (5)上面四种数据类型的公共方法
        • A. python内置函数
        • B.切片
        • C.运算符
        • D.完整的 for 循环语法
    • 010-综合应用——名片管理系统
      • (1)框架搭建
      • (2)保存名片数据的结构
      • (3)实现新增名片功能
      • (4)实现显示所有名片功能
      • (5)实现查询功能
      • (6)实现 处理查找到的名片记录
      • (7)在Linux中如何不使用解释器来执行文件
    • 011-变量进阶
      • (1)变量的引用
      • (2)可变和不可变类型
      • (3)局部变量和全局变量
    • 012-函数进阶
      • (1)函数的参数和返回值的作用
      • (2)函数的返回值 进阶
      • (3)函数的参数 进阶
        • A. 不可变和可变的参数
        • B.缺省参数
        • C.多值参数(知道)
      • (4)递归函数

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



更多推荐

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