Python入门学习记录

一. 基本知识

Python的主要应用:脚本、网站后端、数据分析、机器学习等

学习Python的原因:语法简洁,内置函数多,封装适合新手,无需了解指针和内存管理等计算机偏底层的内容,

python解释器:就是把我们写的 Python 代码翻译成计算机能执行的机器指令的软件,值得多说一句的是,Python的运行过程为翻译一行,执行一行

代码编辑器:就是编写程序代码的软件

二. 安装python解释器

https://www.python.org/

三. PyCharm安装

https://www.jetbrains.com/pycharm/download/other/

1. 安装汉化插件

四. 新建项目

说明一下:

  • PyCharm自动创建的venv 文件夹,为虚拟环境文件夹,表示此项目独立的Python虚拟环境,存在的目的是让不同的项目可以使用不同的Python解释器版本,还有安装的第三方库等。此文件夹不要移动,不要删除,不要往里面放任何东西

五. 基本语法

复制代码

2. 数据类型

说明一下:

  • Python语言在定义变量时,不需要指定变量的数据类型,Python程序会根据变量值,自动确定变量类型
  • 当然也可以用type函数查看

还有空值类型,type(none)是class 'NoneType'

  • 表示完全没有值
  • None不是0,不是空字符串"",也不是False。

还有字符串是str

3. input-读取用户输入

4. 条件语句

说明一下:

  • 执行语句需要缩进四个空格,如果不缩进,默认为条件语句已经执行结束

5. 列表 & 元组 & 集合 & 字典

类型 有序 可重复 可修改 存不同类型 访问方式
list(列表) 下标 index
tuple(元组) 下标 index
set(集合) 不能用下标
dict(字典) ❌(3.7+逻辑有序) key 不可重复 key 访问

5.1 列表 list {}

python 复制代码
a = [1, 2, 3, "hello"]
  • 特点:有顺序,可以重复,可以修改,可以追加删除
  • 适合:需要频繁增删改的数据

5.2 元组 tuple ()

python 复制代码
t = (1, 2, 3)
  • 特点:有顺序,可以重复,不能修改,更安全
  • 适合:不希望被改的数据,函数返回多个值

5.3 集合 set {}

python 复制代码
s = {1, 2, 3}
  • 特点:无序,不可重复,可以增删,自动去重
  • 适合: 去重,数学运算(交集、并集)

5.4 字典 dict {}

python 复制代码
d = {"name": "Tom", "age": 18}
  • 特点:键值对结构,key 不能重复,通过 key 访问,查询速度非常快(哈希结构)、
  • 适合:存结构化数据,模拟对象,配置信息

6. for循环

说明一下:

  • pass 在Python中是一个空语句,什么都不做,占位语句**,**它的主要目的是为了保持程序结构的完整性。

7. range整数序列

说明一下:

  • range的范围是前闭后开的,第三个参数是步长

8. while循环

9.format 格式化

  • 推荐使用f"{}"

10. 自定义函数

说明一下:

  • 如果不写返回值,那么返回值的类型就是None

11.import-引入模块

说明一下:

  • 这个有点像C++中的include,引入头文件的意思

除此之外,还有from..import...语句,还有from...import*语句,这2个都不用使用模块.函数/变量名,直接就是函数/变量名


跳转到对于源代码,ctrl+鼠标左键


第三方库搜索网站:

https://pypi.org/

如果安装第三方库,在PyCharm的【终端】窗口输入 pip install 后面加上库的名字。安装完成后即可使用库的函数。

六. 高级用法

1. 封装

说明一下:

  • 类的构造函数, 必须命名为 init 前后必须有两个下划线。括号内可以放任意数量的参数,但是第一个永远是被占用的,用于表示自身,约定俗称为self,它能把属性绑定在实列的对象上

2. 继承

说明一下:

  • Python 的继承默认就是"公开的"
  • 在子类中可以用**supper()**方法去调用父类的方法

3. 多态

说明一下:

  • Python 多态 不需要继承,只要有同名方法就行。

Python 多态的三种常见形式:

  • 方法重写:子类重写父类方法。
  • 运算符重载
    print(1 + 2) # 数字相加
    print("a" + "b") # 字符串拼接
  • 内置多态:
    len("abc")
    len([1,2,3])
    len({1:2})

4. 高级用法

说明一下:

  • 由于程序会记录文件读取/写入到哪个位置,也就说第一个read有数据,第二次read就没有数据了
  • 可以看情况使用seek移动文件指针

读取文件的三种方法:

  • read:返回全部文件内容的字符串
  • readline:返回一行文件内容的字符串
  • readlines:返回全部文件内容组成的列表

5. try....except-异常处理

说明一下:

  • 需要注意的是,try/except语句在捕捉错误时,依次从上往下运行,如果第一个except已经捕捉到错误,之后的except将不会执行,与if/elif语句类似,只有第一个符合条件的分支会运行。

  • else: 表示没有出现任何错误时执行的语句。

  • finally: 无论是否发生错误,都会执行的语句。

6. unittest单元测试

6.1 code.py

6.2 test_code.py

说明一下:

  • 测试代码文件,必须以test开头
  • 这个测试代码文件中,setUp函数就是实例化成员变量的意思,

6.3 python -m unittest

说明一下:

  • 运行结束后,会提示一共运行了几个测试用例,并且展示测试结果, 一个**·** 表示一个测试一个测试通过,F 表示一个测试不通过。

6.4 常见测试方法

7. assert - 断言

8. 高阶函数

说明一下:

  • 这个类似于C++中的函数指针

9. 匿名函数

关键字 lambda,再跟上变量名,后面再跟上冒号 : ,冒号后面直接写上需要返回的结果,无需写return.

说明一下:

  • 匿名函数不需要写名字,即用即仍,可以把匿名函数当作没有名字且占用行数更少的函数。以lambda作为关键字
  • 匿名函数也有局限性,冒号后没法有多个语句或表达式,只适用于比较简单的场景,
  • 对于多步骤的复杂逻辑或者设计循环递归等,它可能不灵活,没法用它写出来;即使写出来,可读性会很差
相关推荐
米羊1212 小时前
Spring 框架漏洞
开发语言·python
二十雨辰2 小时前
[python]-闭包和装饰器
python
大尚来也2 小时前
Python 调用 Ollama 本地大模型 API 完全指南
开发语言·python
知识分享小能手2 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019 游标 — 语法知识点及使用方法详解(14)
数据库·学习·sqlserver
qq_24218863322 小时前
Python 春节贺卡代码
开发语言·python
强子感冒了2 小时前
JavaScript学习笔记:函数、方法与继承(原型与class)
javascript·笔记·学习
Lenyiin2 小时前
《LeetCode 顺序刷题》11 -20
java·c++·python·算法·leetcode·lenyiin
寒秋花开曾相惜2 小时前
(学习笔记)第2章 信息的表示和处理
笔记·学习
Jelena157795857922 小时前
淘宝图搜API接口技术深度解析:从架构设计到工程实践
python·api