Python初学

目录

认识计算机:

 计算机是怎么构成的——冯诺依曼体系结构​编辑

 内存外存的区别:​编辑

什么是编程?

编程语言有哪些?

 Python

Python背景知识

 Python优缺点

 Python环境搭建

基础语法 

常量和表达式

 变量

 定义变量

 使用变量

 变量的类型

1.int

 2.float

 3.字符串str

求字符串长度

字符串的拼接

4.bool

 5.其他

 为什么要有这么多类型?

 动态类型特性

注释的使用

输入输出

 通过控制台输入

 运算符

 算术运算符

关系运算符

逻辑运算符 

 短路问题​编辑

赋值运算符

 语句

顺序语句

条件语句

缩进和代码块

空语句 

循环语句

 while循环

 for循环

​编辑

 continue

break 

函数

函数是什么?

 函数的定义和调用

 函数参数

 函数返回值

 变量的作用域

global关键字

 函数的执行过程

如何调试

函数的链式调用和嵌套调用

链式调用

 嵌套调用

 局部变量和函数栈帧

 函数递归

 函数形参的默认值

 函数的关键字参数

 列表和元组

概念

列表

列表的创建

下标访问

 列表的切片操作

 列表的遍历操作

列表的插入操作

列表的查找

 列表的删除

列表的拼接

 元组

 字典

概念

创建字典 

 字典查找key

 字典的新增修改

 字典删除元素

 字典的遍历

 可哈希的类型

文件

概念

文件路径 

 文件操作

打开文件

关闭文件

写文件

读文件

上下文管理器

使用库

库是什么

 标准库

认识标准库

使用import导入模块 

第三方库

认识第三方库

使用pip 

代码案例

日期计算器

字符串操作

翻转单词顺序

旋转字符串 

​编辑

统计字符串前缀 

文件搜索工具

pip的使用

二维码生成工具

操作excel

 程序猿鼓励师

学生管理系统

后续扩展 


认识计算机:

 

Python初学_第1张图片

 计算机是怎么构成的——冯诺依曼体系结构
Python初学_第2张图片

Python初学_第3张图片

 内存外存的区别:
Python初学_第4张图片

一般机械硬盘的存储数据的期限是:几年到十几年

什么是编程?

制作软件——编程/软件开发

编程语言有哪些?

Python初学_第5张图片

 Python

Python背景知识

 Python初学_第6张图片

 荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

1991年:

Python、万维网、Linux、Vim、Qt、第一台笔记本电脑都诞生于1991年。

Python初学_第7张图片

 Python优缺点

Python初学_第8张图片

 Python环境搭建

 Python初学_第9张图片

基础语法 

常量和表达式

Python初学_第10张图片

 变量

 eg:

**在Python中表示乘方,**2即为2次方。

 定义变量

 Python初学_第11张图片

 使用变量

初始化&赋值

Python初学_第12张图片

 变量的类型

1.int

Python初学_第13张图片

 

 2.float

Python初学_第14张图片

 3.字符串str

Python初学_第15张图片

 两种引号的妙用eg:

 Python初学_第16张图片

求字符串长度

Python内置函数:len

字符串的拼接

使用 + 即可

注意:但不能str和int相+

4.bool

Python初学_第17张图片

 5.其他

Python初学_第18张图片

 为什么要有这么多类型?

 Python初学_第19张图片

 动态类型特性

Python初学_第20张图片

 Python初学_第21张图片

 Python:

写法:a:str =10

大型程序中,多人协作,还是静态类型的语言好一些

注释的使用

两种注释方式 

Python初学_第22张图片

输入输出

Python初学_第23张图片

如何打印“a=10”?

Python初学_第24张图片

 Python初学_第25张图片

 通过控制台输入

Python初学_第26张图片

 Python初学_第27张图片

 Python初学_第28张图片

 运算符

 算术运算符

Python初学_第29张图片

Python初学_第30张图片Python初学_第31张图片

关系运算符

Python初学_第32张图片

字符串是怎么比较的?根据字典序。 

Python初学_第33张图片 Python初学_第34张图片

Python初学_第35张图片

Python初学_第36张图片

逻辑运算符 

Python初学_第37张图片

 短路问题Python初学_第38张图片

Python初学_第39张图片

赋值运算符

Python初学_第40张图片

Python初学_第41张图片

 Python初学_第42张图片

Python初学_第43张图片

 语句

顺序语句

Python初学_第44张图片

条件语句

语法格式:

Python初学_第45张图片 Python初学_第46张图片

缩进和代码块

Python初学_第47张图片 eg:
Python初学_第48张图片

空语句 

空语句pass来占位

Python初学_第49张图片

循环语句

 while循环

Python初学_第50张图片

 for循环

Python初学_第51张图片

 Python初学_第52张图片

eg:

Python初学_第53张图片

Python初学_第54张图片

 eg:

Python初学_第55张图片

补充小技巧:

 random:为一个模块Python初学_第56张图片

Python初学_第57张图片

Python初学_第58张图片

 continue
break 

continue和break的用法同C++

函数

函数是什么?

Python初学_第59张图片

eg:

 Python初学_第60张图片

 函数的定义和调用

Python初学_第61张图片

Python初学_第62张图片

 函数参数

Python初学_第63张图片

Python初学_第64张图片

 Python初学_第65张图片

 函数返回值

Python初学_第66张图片

Python初学_第67张图片

Python初学_第68张图片

 变量的作用域

如果想得到函数内部的变量的值,那就return了,之后再接受即可。

Python初学_第69张图片

这是Python与C++的很大区别,Python中只有在函数中才会对变量的作用域产生影响。 

Python初学_第70张图片

global关键字

 Python初学_第71张图片

 函数的执行过程

如何调试

Pycharm

Python初学_第72张图片

函数的链式调用和嵌套调用

链式调用

Python初学_第73张图片

 嵌套调用

Python初学_第74张图片

 局部变量和函数栈帧

F7:一步一步往下走

Python初学_第75张图片

 Python初学_第76张图片

 函数递归

Python初学_第77张图片

Python初学_第78张图片

eg:求阶乘(循环/递归)

Python初学_第79张图片

 Python初学_第80张图片

优缺点:

Python初学_第81张图片

 函数形参的默认值

Python初学_第82张图片

Python初学_第83张图片

Python初学_第84张图片

eg: 

Python初学_第85张图片

改进为:

Python初学_第86张图片

 函数的关键字参数

Python所独有的

Python初学_第87张图片

 Python初学_第88张图片

 列表和元组

概念

用一个变量来表示很多个数据

Python初学_第89张图片

 列表是可变的

元组是不可变的

列表

列表的创建

Python初学_第90张图片

下标访问

 Python初学_第91张图片

 Python初学_第92张图片

 列表的切片操作

 Python初学_第93张图片

[1,2,3,4,5,6,7,8,9,10]

[1,3,5,7,9]

...

[2,3,4,5,6,7,8,9,0]

“-”可以理解为倒数

Python初学_第94张图片 

 列表的遍历操作

Python初学_第95张图片

  对于第一种方法并不能对列表里的值进行修改,elem不会对原列表里的值产生影响。

Python初学_第96张图片

列表的插入操作

Python初学_第97张图片

Python初学_第98张图片

Python初学_第99张图片

列表的查找

Python初学_第100张图片

与in对应的是not in

Python初学_第101张图片

 列表的删除

Python初学_第102张图片

列表的拼接

Python初学_第103张图片

 Python初学_第104张图片

Python初学_第105张图片 也可以使用+=:

Python初学_第106张图片

但以上两种方法的区别为:Python初学_第107张图片 extend省去了数据拷贝与数据释放的过程。

+=较低效,更倾向使用extend。 

 元组

Python初学_第108张图片

不能修改:append(),pop(),extend()等都不能用了。

Python初学_第109张图片

 字典

概念

Python初学_第110张图片

创建字典 

Python初学_第111张图片

 Python初学_第112张图片

注意:字典中最后一组键值对后的逗号,可有可无。

 Python初学_第113张图片

 字典查找key

Python初学_第114张图片

Python初学_第115张图片

与in相对应的not in也可以用来判断key 是否存在。

Python初学_第116张图片

 字典的新增修改

Python初学_第117张图片

不存在即新增,存在即修改。

 字典删除元素

 字典的遍历

Python初学_第118张图片

Python初学_第119张图片

Python初学_第120张图片

 Python初学_第121张图片

那也就有了一种新的写法:
Python初学_第122张图片

Python初学_第123张图片

 可哈希的类型

 Python初学_第124张图片

 可以这么想:

Python初学_第125张图片

文件

概念

Python初学_第126张图片

 Python初学_第127张图片

Python初学_第128张图片

Python初学_第129张图片

文件路径 

Python初学_第130张图片

Python初学_第131张图片

 文件操作

Python初学_第132张图片

打开文件——读文件——写文件——关闭文件

打开文件

Python初学_第133张图片

 Python初学_第134张图片

“文件对象”就像一个“遥控器”

Python初学_第135张图片

关闭文件

Python初学_第136张图片

Python初学_第137张图片

8189有什么想说的呢?
Python初学_第138张图片

如果不及时关闭的话,可能会造成文件资源泄漏,进一步的导致其他部分的代码无法顺利打开文件了。

正是因为一个系统的资源是有限的,一个程序所能打开的文件的个数也是有上限的。

文件资源泄漏,其实是一个很重要的问题,不会在第一时间暴露出来,但是会冷不丁地偷袭!

Python初学_第139张图片

写文件

Python初学_第140张图片

 

读文件

Python初学_第141张图片

Python初学_第142张图片

 一次读:Python初学_第143张图片

Python初学_第144张图片

不匹配就会报错:
Python初学_第145张图片

 那么应该如何解决呢?

 Python初学_第146张图片

上下文管理器

如果我们在一些条件语句中有return,或者多人协作代码时,有时候就会忘记关闭文件:f.close()

Python初学_第147张图片

 其他语言中也可以起到类似的效果:
Python初学_第148张图片

使用库

库是什么

Python初学_第149张图片

第三方库是非常庞大的,数量和种类>>标准库

“库”的优点:
Python初学_第150张图片

 标准库

认识标准库

Python初学_第151张图片

使用import导入模块 

第三方库

认识第三方库

Python初学_第152张图片

使用pip 

Python初学_第153张图片

 Python初学_第154张图片

代码案例

日期计算器

Python初学_第155张图片

 

 (年,月,日,时,分,秒)

datetime.datetime()看起来不方便,我们改进一下:
Python初学_第156张图片

 还有一种方法:
Python初学_第157张图片

字符串操作

翻转单词顺序

Python初学_第158张图片

Python初学_第159张图片

我们在写一些代码的时候,可以给变量加一些类型的声明,这样写起来可能会更加方便。

Python初学_第160张图片

旋转字符串 

Python初学_第161张图片

Python初学_第162张图片

统计字符串前缀 

Python初学_第163张图片

 思路:

Python初学_第164张图片

 代码如下:
Python初学_第165张图片

小小的总结一下:

s.startswith(word):来判断s是否以word开头

s.endswith(word):来判断s是否以word结尾

aa in bb:来判断aa是否在bb中

文件搜索工具

思路:

递归查找,遇到子目录,就进到目录里,进行查找。

os.walk:只需要使用简单的循环,就可以完成递归遍历的过程。(不用手写递归代码)

Python初学_第166张图片

代码:

Python初学_第167张图片

dirnames没有用到可以用下划线来代替。

pip的使用

二维码生成工具

需要使用到第三方库

Python初学_第168张图片

操作excel

Python初学_第169张图片

Python初学_第170张图片

 程序猿鼓励师

Python初学_第171张图片

 代码:

Python初学_第172张图片

Python初学_第173张图片

Python初学_第174张图片

此处的播放音频,消耗时间比较多,可能会引起输入的卡顿!

可以创建一个线程,在线程里播放音频。 

Python初学_第175张图片

学生管理系统

Python初学_第176张图片

 代码:
Python初学_第177张图片

Python初学_第178张图片                    Python初学_第179张图片

Python初学_第180张图片

Python初学_第181张图片

Python初学_第182张图片

Python初学_第183张图片

 以上为存储在了内存中,容易丢失

Python初学_第184张图片

需修改的代码: 

Python初学_第185张图片 Python初学_第186张图片

Python初学_第187张图片

 Python初学_第188张图片

 Python初学_第189张图片

Python初学_第190张图片

存档读档后,就可以借助硬盘的持久化能力,不会丢失以前的数据了!

后续扩展 

Python初学_第191张图片

你可能感兴趣的:(python)