admin管理员组

文章数量:1530057

前言

  • 推荐使用Typora解锁全套,下载地址:https://www.typora.io/

  • Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。

  • 使用word撰写文档,有如下的弊端:

    • 只能对纯文本文件进行版本控制,而word是二进制格式
    • 格式繁杂,经常需要中断写作来控制格式
    • 代码与文档分离,给写文档造成更大的阻力
  • 而假如单纯的使用txt,就没有一点格式了,

  • 用html虽然既有格式又能加入版本控制,但是需要花费较多的时间在标签上,而且标签占了文档的较大百分比,不易阅读。

    所以,最终的解决方案就是 Markdown ,作为一种轻量级的标记语言,能在非常短的时间内掌握。而且不仅可以用于写文档,还可以写博客、写简书、做一些随手笔记。Markdown文件以.md结尾,可以导出为html和PDF(需要使用的工具支持)。它是一种语法(个人认为是简化版的html),但是和html不同的是,各种解析器对其会有不同的表现。比如我的IDEA Markdown插件会把分割线显示成一条细灰线,Cmd Markdown则是显示一条虚线。所以建议保持使用一种Markdown工具和尽量使用标准语法。

一、Markdown基本语法

1.1 标题

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 最小只有六级标题

效果:

你复制粘贴即知晓!!!

1.2 加粗

**我被加粗了**

效果:

我被加粗了

1.3 斜体

*我倾斜了了*

效果:

我倾斜了了

1.4 代码引用(>式)


> hello markdown!

效果:

hello markdown!

> hello markdown!
>> hello markdown!

效果:

hello markdown!

hello markdown!

1.5 代码引用(```式)

​```python
print('hello nick')
​```

效果:

print('hello nick')

1.6 有序列表

1. one
2. two 
3. three

效果:

  1. one

  2. two

  3. three

1.7 无序列表

* one
* two
* three

效果:

  • one

  • two

  • three

1.8 分割线

---

效果:


1.9 表格

第二行必须得有,并且第二行的冒号代表对齐格式,分别为居中;右对齐;左对齐):

段落==>表格==>插入表格

总结

  • 以上所述就是Markdown的基本标签,虽然不多,但是可以解决大部分情况

二. 计算机基本概念

2.1 计算机是什么?


  • 计算机(computer)俗称电脑,是现代⼀种⽤于⾼速计算的电⼦计算机器
  • 计算机的特点:数值计算、逻辑计算、存储记忆功能
  • 总结 : 能够按照程序运行、自动、高速处理数据的现代化智能电子设备

2.2 计算机的组成

  • 硬件和软件:
  • 硬件:⿏标 键盘 显示器 CPU 硬盘… 看的⻅摸的着
  • 软件:PyCharm, QQ 浏览器 英雄联盟… 看不⻅摸不着
    • 软件就是通过编程,完成的一个一系列按照特定顺序组织的计算机数据和特定指令的集合

2.3 计算机语⾔概述

2.3.1 计算机语⾔的基本概念

  • 概念 :计算机语⾔(Computer Language)指⽤于⼈与计算机之间通讯的语⾔。
  • 总结:能够按照程序运⾏、⾃动、⾼速处理数据的现代化智能电⼦设备

2.3.2 计算机语⾔的发展

  • 机器语⾔ --> 汇编语⾔ --> ⾼级计算机语⾔
  • 机器语⾔:最初的机器语⾔都是由0 和 1组成的⼆进制数,说⽩了⼆进制就是机器语⾔组成的基础
  • 汇编语⾔:汇编语⾔是在机器语⾔基础之上发展的,它⽤了⼀些简单的字⺟和符号串来代替⼆进制串,这样就提⾼了语⾔的记忆性和识别性
  • ⾼级计算机语⾔: 就是⼀系列指令的集合 例如: JAVA C C++ Python

2.3.3 解释型语⾔和编译型语⾔的区别

  • 编译型语言:在机器执行之前就编译成了机器码------->先编译在执行----->执行速度快、跨平台性不好 (代表语⾔ C)
  • 解释型语言: 在执行之时进行解释------->一边解释一边执行--------> 执行速度慢、跨平台性好(代表语⾔ Python)

2.3.4交互模式

  • TUI:命令行的交互方式

  • win键 + R --> CMD --> 回⻋

  • 命令⾏结构

  • Microsoft Windows [版本 10.0.18363.1443] —> 版本

    • © 2019 Microsoft Corporation。保留所有权利。—> 版权声明
    • C:\Users\admin.STATE_WU>
    • C: —>所在磁盘的根⽬录 (可以通过 X: 切换盘符)
    • \User\admin.STATE_WU —> 所在磁盘路径,当前所在的⽂件夹
    • ’>’ —> 命令提示符 (在后⾯可以直接输⼊指令)
  • dos命令

指令 作用
dir 列出当前目录下的文件夹或者文件
md 创建目录
rd 删除目录
cd 进入指定目录
cd… 退回上一级目录
cd/ 退回到根目录
del 删除文件
exit 退出dos命令
win+R 快捷进入cmd
where 想查找某个可执行命令的绝对路径
  • GUI:图形界面化的交互方法

2.4.⽂本⽂件和字符集

2.4.1⽂本⽂件

  • ⽂本分为两种 : ⼀种 纯⽂本 ⼀种 富⽂本
  • 纯⽂本只能保存单⼀的⽂本内容,⽆法保存内容⽆关的东⻄(例如 txt⽂本⽂档)
  • 富⽂本可以保存⽂本以外的东⻄(例如 有道笔记)
  • 纯⽂本在计算机底层也会转换为⼆进制保存
    • 将字符转换为⼆进制码的过程,我们称之为编码 encode()
    • 将⼆进制码转换成字符的过程,我们称之为解码 decode()

2.5 常⻅的字符集

  • ASCII :美国⼈编码 使⽤7位来对美国常⽤的字符进⾏编码 包含128个字符
  • ISO-8859-1: 欧洲的编码 使⽤8位来编码 包含256个字符
  • GBK: 中国⼈编码(国标码)
  • Unicode 万国码 包含世界上所有语⾔和字符 编写程序⼀般都会使⽤Unicode 编码
  • Unicode 编码有多种实现 UTF-8 UTF-16 UTF-32

2.6 进制

进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。
对于任何一种进制—X进制,就表示每一位置上的数运算时都是逢X进一位。

2.6.1进制的计数

  • 十进制:
  • ⼗进制满⼗进⼀ ⼗进制⼀共有10个数字
    • 计数 : 0 1 2 3 4 5 6 7 8 9 10 11 12 …19 20
  • 十六进制
    • ⼗六进制满⼗六进位 ⼗六进制的数字 引⼊了 a b c d e f 表示 10 11 12 13 14 15
    • 计数 : 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 … 1a 1b 1c 1d 1e 1f 20 21 22 23 24…2a 2b 2c 2d 2e 2f 30 31 32 33 34… 3a 3b…
  • 八进制
    • ⼋进制满⼋进⼀ ⼋进制⼀共有8个数字
    • 计数 : 0 1 2 3 4 5 6 7 10 11 … 17 20 21…27 30
  • 二进制
    • ⼆进制满⼆进⼀ ⼆进制⼀共有2个数字 0 1
    • 计数 : 0 1 10 11 100 101 110 111 1000…
  • 以此类推,x进制就是逢x进位。

2.6.2进制之间的转换

  • ⼗进制–>⼆进制 原理: 对⼗进制数进⾏除2运算

将25转换为二进制数
解:25÷2=12 余数1
12÷2=6 余数0
6÷2=3 余数0
3÷2=1 余数1
1÷2=0 余数1
所以25=(11001)2
同理
把十进制数转换为十六进制数时,将基数2转换成16就可以了.
例:将25转换为十六进制数
解:25÷16=1 余数9
1÷16=0 余数1
所以25=(19)16

  • 二进制数转换为十六进制数,从左向右每四位一组,依次写出每组4位二进制数所对应的十六进制数――简称四位合一位.

例:将二进制数(000111010110)2转换为十六进制数.
解: 0001 1101 0110
1 D 6
所以(111010110)2=(1D6)16
转换时注意最后一组不足4位时必须加0补齐4位

  • ⼆进制 – > ⼗进制 原理:⼆进制乘以2(次幂)的过程
  • 进制越⼤表现形式越短,之所以出现其他进制就是为了更⽅便的表示数据

2.6.3 数据间的换算

  • bit是计算机中最⼩的单位
  • byte是我们最⼩的可操作的单位
8 bit 1 byte 字节 byte
1024 byte 1 KB 千字节 Kilobyte
1024 KB 1 MB 兆字节 Megabyte
1024 MB 1 GB 吉字节 Giga byte
1024 GB 1 TB 太字节 Trillion byte
1024 TB 1 PB 拍字节 Peta byte
1024 PB 1 EB 艾字节 Exa byte
1024 EB 1 ZB 泽字节 Zetta byte
1024 ZB 1 YB 尧字节 Jotta byte
1024 YB 1 BB 亿字节 Bronto byte
1024 BB 1 NB Nona Byte
1024 NB 1 DB Dogga Byte

2.7 环境变量

2.7.1基本概念

  • 环境变量(environment variables)⼀般是指在操作系统中⽤来指定操作系统运⾏环境的⼀些参数,如:临时⽂件夹位置和系统⽂件夹位置等
  • 环境变量操作
    • 1.查看环境变量
      • 右键计算机(此电脑),选择属性
      • 系统界⾯左侧选择 ⾼级系统设置
      • 选择环境变量
    • 2.添加环境变量
      • 通过新建按钮添加环境变量
      • 环境变量可以有多个值 , 值与值之间⽤ 英⽂分号隔开
    • 3 修改环境变量
      • 通过编辑按钮来修改环境变量
    • 4.删除环境变量
    • 通过删除按钮来删除环境变量

2.7.2 path环境变量

  • path环境变量 保存的是⼀个⼀个的路径
  • 当我们在命令⾏中输⼊⼀个命令,系统会先在当前⽬录下找,如果有就直接打开
  • 如果没有则会去path环境变量的路径去找,直到找到为⽌。没找到则会报错
  • 我们可以将⼀些经常要访问的⽂件或程序的路径添加到环境变量当中。这样我们就可以在任意位置来访问这些⽂件了
  • 注意事项:
    • path环境变量不区分⼤⼩写 path Path PATH
    • 多个路径之间⽤ ; 隔开

三. Python语言基本概念

3.1 Python语⾔的基本概念

  • Python 是⼀种极少数能兼具 简单 与 功能强⼤ 的编程语⾔。你将惊异于发现你正在使⽤的这⻔编程语⾔是如此简单,它专注于如何解决问题,⽽⾮拘 泥于语法与结构
  • 官⽅对 Python 的介绍如下:
    • Python 是⼀款易于学习且功能强⼤的编程语⾔。 它具有⾼效率的数据结构,能够简单⼜有效地实现⾯向对象编程。Python 简洁的语法与动态输⼊之特性,加之其解释性语⾔的本质,使得它成为⼀种在多种领域与绝⼤多数平台都能进⾏脚本编写与应⽤快速开发⼯作的理想语⾔
  • Python 的创造者吉多·范罗苏姆(Guido van Rossum)采⽤ BBC 电视节⽬《蒙提·派森的⻜⾏⻢戏团(Monty Python’s Flying Circus,⼀译巨蟒剧团)》的名字来为这⻔编程语⾔命名

3.2 Python 的特⾊

  • 简单
  • 易于学习
  • ⾃由且开放
  • 跨平台
  • 可嵌⼊性
  • 丰富的库

3.3 Python的发展及应⽤


  • Python的应⽤
    • 常规软件开发
    • 科学计算
    • ⾃动化运维
    • ⾃动化测试
    • WEB开发
    • ⽹络爬⾍
    • 数据分析
    • ⼈⼯智能

3.4 Python之禅

(输⼊ import this)
美胜于丑陋(Python 以编写优美的代码为⽬标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,⻛格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接⼝简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望⼀⾏代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实⽤性之名,也不可违背这些规则(这些规则⾄⾼⽆上)
不要包容所有错误,除⾮你确定需要这样做(精准地捕获异常,不写except:pass ⻛格的代码)
当存在多种可能,不要尝试去猜测⽽是尽量找⼀种,最好是唯⼀⼀种明显的解决⽅案(如果不确定,就⽤穷举法)
虽然这并不容易,因为你不是 Python 之⽗(这⾥的 Dutch 是指 Guido )
做也许好过不做,但不假思索就动⼿还不如不做(动⼿之前要细思量)
如果你⽆法向⼈描述你的⽅案,那肯定不是⼀个好⽅案;反之亦然(⽅案测评标准)
命名空间是⼀种绝妙的理念,我们应当多加利⽤(倡导与号召)

四 Python解释器和集成环境

4.1 Windows下Python环境搭建

搭建环境
Python的解释器

  • 环境搭建就是安装Python的解释器
  • Python的解释器分类:
    • CPython(官⽅我们⽤的就是这个版本) ⽤c语⾔编写的Python解释器
    • PyPy ⽤Python语⾔编写的Python解释器
    • JPython ⽤Java编写的Python解释器
      搭建Python环境
      官⽹链接
      下载安装包






安装成功

4.2 Python的交互模式

  • win键 + R --> CMD --> 回⻋ --> 输⼊Python
    • 命令⾏结构
    • Python 3. 6. 5 … —> 版本
    • Type “help”,“copyright”…—> 版权声明
    • “>>>” —> 命令提示符 (在后⾯可以直接输⼊指令)

4.3 pip⼯具的使⽤

pip介绍
我们都知道python有很多的第三⽅库或者说是模块。这些库针对不同的应⽤,
发挥不同的作⽤。我们在实际的项⽬中肯定会⽤到这些模块。那如何将这些模
块导⼊到⾃⼰的项⽬中呢?

Python官⽅的PyPi仓库为我们提供了⼀个统⼀的代码托管仓库,所有的第三⽅
库,甚⾄你⾃⼰写的开源模块,都可以发布到这⾥,让全世界的⼈分享下载 。

python有两个著名的包管理⼯具easy_install和pip。在python 2中
easy_install是默认安装的,⽽pip需要我们⼿动安装。随着Python版本的提
⾼,easy_install已经逐渐被淘汰,但是⼀些⽐较⽼的第三⽅库,在现在仍然只
能通过easy_install进⾏安装。⽬前,pip已经成为主流的安装⼯具,⾃Python
2 >=2.7.9或者Python 3.4以后默认都安装有pip

pip使⽤
在命令⾏下,输⼊pip,回⻋可以看到帮助说明:

  • 查看pip版本
pip -V
pip --version
  • 普通安装
 pip install requests
  • 指定版本安装
 pip install robotframework==2.8.7
  • 卸载已安装的库
pip uninstall requests
pip install SomePackage
pip install SomePackage==1.0.5 # 指定版本
pip install 'SomePackage>=1.0.6' # 最⼩版本
  • 升级指定的包,通过使⽤==, >=, <=, >, < 来指定⼀个版本号。
  • 列出已经安装的库
1 pip list
  • 显示所安装包的信息
1 pip show package
  • 将已经安装的库列表保存到⽂本⽂件中
pip freeze > D:\桌⾯\install.txt

  • 批量下载导出来的包
pip install -r packages.txt
  • 使⽤wheel⽂件安装
    除了使⽤上⾯的⽅式联⽹进⾏安装外,还可以将安装包也就是wheel格式的⽂
    件,下载到本地,然后使⽤pip进⾏安装。⽐如我在PYPI上提前下载的pillow库
    的wheel⽂件,后缀名为whl
    地址:链接

    可以使⽤pip install pillow-4.2xxxxxxx.whl的⽅式离线进⾏安装
  • 第⼀步 安装 wheel
  • 第⼆步 找到下载的whl⽂件的⽬录进⾏安装(以桌⾯为例)
  • 第三步 执⾏命令安装

    换源安装
    ⾖瓣 :https://pypi.douban/simple/
    阿⾥ :https://mirrors.aliyun/pypi/simple/
    中国科学技术⼤学:http://pypi.mirrors.ustc.edu/simple
    清华:https://pypi.tuna.tsinghua.edu/simple
    例如:pip install SomePackage -i https://pypi.douban/simple

4.4 Python的第⼀个程序

  • 可以在交互模式实现
  • 可以⽤Python⾃带的idle
  • 可以⽤⾼级开发⼯具如 : PyCharm

4.5 Pycharm简介

PyCharm 是 Python 最著名的集成开发环境 IDE 之⼀,由⼤名鼎鼎的 JetBrains 公司开发,如果你⽤过该公司其它产品,像 Intellij IDEA 或者 WebStorm,你将对 PyCharm 驾轻就熟,该公司旗下产品在功能布局及设置等⽅⾯都保持了很好的⼀致性。

4.5.1 什么是 IDE?

IDE 是集成开发环境的英⽂缩写 (Integrated Development Environment),所谓集成开发环境就是将你在开发过程中所需要的⼯具或功能集成到了⼀起,⽐如:代码编写、分析、编译、调试等功能,从⽽最⼤化地提⾼开发者的⼯作效率。

  • IDE 通⽤特点:

    1. 提供图形⽤户界⾯,在 IDE 中可以完成开发过程中所有⼯作;
    2. ⽀持代码补全与检查,并提供快速修复选项;
    3. 内置解释器与编译器;
    4. 功能强⼤的调试器,⽀持设置断点与单步执⾏等功能。

4.5.2 PyCharm 的版本

⽬前 PyCharm 共有三个版本:Professional、Community 和 Edu 版。Community 和 Edu 版本是开源项⽬,它们是免费的。 Edu 版完整的引⽤了 Community 版所有的功
能。同时集成了⼀个python的课程学习平台,⽐较适合从未接触过的任何开发语⾔的⼩⽩。Professional 版是收费的,下⾯是 Profession 与 Community 版的对⽐,后者相对前者缺少很多重要功能,对于开发⼈员还是强烈建议选择 professional 版本,本课程中也将以 Professional 版本为例进⾏讲解。

4.5.3 其它 IDE 对⽐

4.5.3.1 Spyder

在 IDE 市场也是⼤名鼎鼎, 主要是为科学计算⽽开发的。它是开源⼯具, 可运⾏在 Linux, Windows and Mac OS 上。

优点:

  1. 在查找和消解除代码性能链瓶颈⽅⾯⾮常⾼效;

  2. 可即时查看任何⽂档并修改⾃⼰的⽂档。

  3. ⽀持扩展插件。

缺点:

  1. 同时调⽤太多插件时,其性能下降⽐较多;
  2. ⽆法配置开发⼈员想要禁⽤的警告。
4.5.3.2 PyDev + Eclipse


Eclipse 是 Java 语⾔的 IDE,PyDev 是其⼀个插件,安装后,可以在 Eclispe 中进⾏ Python 的开发⼯作。
优点:

"""
- 提供了代码语法⾼亮显示、解析器错误、代码折叠和多语⾔⽀持;
- 具有良好的界⾯视图,提供⼀个交互式控制台;
- ⽀持 CPython、Jython、Iron Python 和 Django,并允许在挂起模式下进⾏交互式测试。
  缺点:
- 如果应⽤程序太⼤,使⽤多个插件,PyDev IDE 的性能会降低;
- 作为插件,在实际使⽤过程中不是很稳定。
"""

4.5.3.3 IDLE


如果你的电脑上安装了 Python,同时也就安装了 IDLE。初学者可以利⽤它⽅便地创建、运⾏、测试Python 程序。
优点:

  1. IDLE 纯粹在 Python 中开发,使⽤ Tkinter GUI ⼯具包,也是⼀个跨平台⼯具,可以⼯作在Windows, macOS 与 Linux 上;

  2. 它具有多窗⼝⽂本编辑器的良好功能,具有调⽤提示、智能缩进、撤消等许多功能;

  3. 它还⽀持对话框、浏览器和可编辑配置。

    缺点:

    1. 它有⼀些正常的使⽤问题,有时它缺乏焦点,在代码⾃动补全⽅⾯只⽀持内置标准库;
    2. 在界⾯上缺少⼀些基本的设计,⽐如缺少⾏号。

4.5.3.4 Wing


也是在当今市场上流⾏和强⼤的 IDE,具有许多适合 Python 开发⼈员要求的功能, 可以⼯作在 Windows,macOS 与 Linux 上。 它是商业软件,Wing Personal 与 Wing 101 两个版本是为了学⽣与初学者的免费版本。

"""
优点:

1. 在试⽤版过期的情况下,Wing 为开发⼈员提供了⼤约 10 分钟的时间来迁移其应⽤程序;
2. 它有⼀个源浏览器,有助于显示脚本中使⽤的所有变量;
3. 功能强⼤的调试器,提供了⼀个额外的异常处理选项卡,可帮助开发⼈员调试代码。

缺点:

1. 在科学计算⽅⾯没有集成⼀些常⽤⼯具与库;
2. 商业版本功能强⼤,也意味占⽤内存⽐较⼤
"""

4.5.4 为什么是 PyCharm?

上⼀部分总结了其它 IDE 的优缺点, 相较其它产品,PyCharm 是功能最为完备,⽤户体验最好的IDE,适合⼤型项⽬的开发。 具体特性如下:

  1. 智能代码编辑功能: ⾃动代码补全,你继续输⼊时,拼写提示列表会缩⼩范围以匹配你输⼊的字符。
    具有实时编辑功能,⽴即⾃动保存编辑内容;
  2. 专业⼯具集成: ⼏乎集成了程序员可能希望的所有功能, ⽐如集成单元测试,代码检测,集成版本控
    制,代码重构⼯具等等;
  3. ⽀持各种 Web 开发语⾔:如 HTML/CSS、Javascript、Angular JS、node JS 等。Pycharm 还⽀
    持多种类型的 Web 开发框架和⼴泛的 Web 模板;
  4. 科学计算:集成了 IPython Notebook,其作为交互式的 python 控制台,⽀持各种⼯具如
    Anaconda, NumPy, Matplotlib 等等;
  5. 可定制 + 跨平台: 可以⾃定义UI界⾯,可运⾏在 Linux, Windows and Mac OS 上;
  6. 远程调试:通过配置 Docker 或者 Vagrant 及 SSH, ⽀持在本地使⽤远程服务器的 Python 解释器和
    环境进⾏调试和运⾏, 这是其它⼤多数其它 IDE 不具备的功能;
  7. 最流⾏:意味着当你在使⽤中遇到问题,意味着可以在互联⽹上更快的找到解决⽅案相对于其它 IDE。

PyCharm 主界⾯:

4.5.5 PyCharm的安装和配置

4.5.5.1 PyCharm的安装







4.5.5.2 PyCharm的简单配置
  1. 主题修改 File–settings–apperance–theme
  2. 代码字体修改 File–settings–Editor-Font
  3. 关闭更新 File–settings—apperance—System Settings —Updates — Automatically check updates for 取消打钩
  4. 快捷键修改 File–settings—apperance-- Keymap 选择⾃⼰习惯的快捷键⽅式
  5. ⾃动导包 File–settings—apperance–General —Auto Import打钩
  6. 进制打开上次的⼯程 File–settings—apperance—System Settings —Reopen last project startup
  7. 修改新建⽂件⽂件头 File–settings–Editor—Code Style — File and Code Templates — Python Script
#!/usr/bin/env python# -*- coding: utf-8 -*-
# @Time : ${DATE} ${TIME}
# @Author : Jerry
# @File : ${NAME}.py
# @Software: ${PRODUCT_NAME}
  1. 修改字体编码 File–settings–Editor—Code Style — File Encoding — Project Encoding

常⻅问题总结

  • pip版本⽐较低安装命令输⼊错误
    问题描述

    解决⽅案
1 pip版本太低 输⼊升级指令 python -m pip install --upgrade pip 然后在去安装2 直接 pip install requests (不需要在后⾯加东⻄)3 或者通过换源⽅式去安装 pip install SomePackage -i https://pypi.douban/simple
  • ⽹速以及⽹络延时问题

问题描述

解决⽅案

1 多安装⼏次2 通过换源⽅式去安装 pip install SomePackage -i https://pypi.douban/simple
  • 解释器配置问题

问题描述

解决⽅案

  • 缩进的错误

问题描述

解决⽅案

  • 安装了pycharm之后桌⾯右键选项框变⼤了怎么做?
    windows键+R键输⼊regedit
    按照以下路径:
    HKEY_CLASSES_ROOT\Directory\Background\shell\PyCharm Community Edition,找到
    PyCharm Community Edition⽂件夹,删除即可

五 python基础

5.1. ⼏个概念

  1. 表达式

  2. 语句

  3. 程序

  4. 函数

5.1.1 表达式

例如:1+2,可以运行,但是没有输出结果
  • 表达式,是由数字、算符、数字分组符号(括号)、⾃由变量和约束变量等以能求得数值的有意义排列⽅法所得的组合
  • 表达式特点
    • 表达式⼀般仅仅⽤于计算⼀些结果,不会对程序产⽣实质性的影响
    • 如果在交互模式中输⼊⼀个表达式,解释器会⾃动将表达式的结果输出

5.1.2 语句:

例如:判断语句,循环语句,比较语句等
  • ⼀个语法上⾃成体系的单位,它由⼀个词或句法上有关连的⼀组词构成
  • 语句的执⾏⼀般会对程序产⽣⼀定的影响,在交互模式中不⼀定会输出语句的执⾏结果

5.1.3 程序(program)

一个程序就是相当于一个功能
  • 程序就是由⼀条⼀条的语句和⼀条⼀条的表达式构成的。

5.1.4 函数(function)

  • 函数就是⼀种语句,函数专⻔⽤来完成特定的功能
  • 函数⻓的形如:xxx()
  • 函数的分类:
    • 内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运⾏时库中,程序员不⽐单独书写代码实现它,只需要调⽤既可。例如:input(),print()
    • ⾃定义函数 : 由程序员⾃主的创建的函数 当我们需要完成某个功能时,就可以去调⽤内置函数,或者⾃定义函数。 例如 def fun():
  • 函数的2个要素
    • 参数
    • 返回值

5.2. 标识符

5.2.1 关键字

  • python⼀些具有特殊功能的标识符,这就是所谓的关键字关键字,是python已经使⽤的了,所以不允许开发者⾃⼰定义和关键字相同的名字的标识符
  • win键 + R --> CMD --> 回⻋,在命令行里面输入:python回车,import keyword回车,再输入keyword.kwlist,就可以看到python保留字

5.2.2 标识符概念

  • 开发⼈员在程序中⾃定义的⼀些符号和名称。标识符是⾃⼰定义的,如变量名、函数名等
  • 组成:由26个英⽂字⺟⼤⼩写,数字 0-9, 符号 _
  • 标识符的规则:
    • 标识符中可以包含字⺟、数字、_,但是不能使⽤数字开头
    • 例如:正确的:name1 ,name_1, _name1 ; 错误的:1name(不⾏)
    • Python中不能使⽤关键字和保留字来作为标识符
  • 命名⽅式
    • 驼峰命名法:
      • ⼩驼峰式命名法: 第⼀个单词以⼩写字⺟开始;第⼆个单词的⾸字⺟⼤写,例如:myName、aDog
      • ⼤驼峰式命名法: 每⼀个单字的⾸字⺟都采⽤⼤写字⺟,例如:FirstName、LastName
    • 下划线命名法
      • 不过在程序员中还有⼀种命名法⽐较流⾏,就是⽤下划线“_”来连接所有的单词,⽐如 get_url buffer_size

六 变量

6.1 变量的概念?

  • 我们首先来想想看你是怎么认识一个人的,今天来你会认识我,明天来你还会认识我。那你是不是记住我这个人的典型特征,比如我的名字、体重、身高…世间万物我们是不是都是这样去认识的?毫无疑问是的。既然人能识别世间万物,那么我们之前一直把计算机想象成人,那是不是说计算机也能识别世间万物呢?对的。计算机通过记录我们的状态认识我。这就是量的概念。

    • 量:记录现实世界中的状态,让计算机能够像人一样去识别世间万物。

    今天我可能180,明年我是不是可能就是185了(5cm不过分),那这种状态是不是会发生变化。

    • 变:现实世界中的状态是会发生改变的。
  • 为什么要有变量

    • 对于现实世界,一定是要有一个变量来描述世间万物的。
    • 但是计算机为什么也要有变量的概念呢?其实计算机中程序的运行就是一系列状态的变化,如王者荣耀中账号等级0级到30级、废铁到王者;植物大战僵尸中僵尸打着打着就死了。
  • 变量是计算机内存中的⼀块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。

  • 变量命名规则

    • 变量名由字⺟、数字、下划线组成要符合标识符的命名规范
    • 数字不能开头
    • 不能使⽤关键字
  • 注意 : 两个对象相等和两个对象是同⼀个对象是两个概念

6.2 定义变量

既然知道了变量是什么玩意,那我们如何在Python中定义变量呢?

name = 'state'
age = 36
gender = 'male'
height = 176
weight = 140

6.3 变量的组成

从我们上面定义的变量可以看到,变量的组成分为以下三个部分:

  1. 变量名:变量名用来引用变量值,但凡需要用变量值,都需要通过变量名。
  2. 赋值符号:赋值
  3. 变量值:存放数据,用来记录现实世界中的某种状态。
name  # 报错,无任何意义
age = 18
height = 185

print(age)
print(height)
# 打印出结果
18
185

6.4 变量的运算

  • 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是⼀个浮点数类型
  • 变量的除法,即使变量都是整数型(int),结果依然是浮点数型(float)

6.5 变量在内存中的原理

  • 原理:变量在内存中就是⼀块特定的存储区域(地址)

6.5.1 引⽤变量

  • 两个引⽤指向同⼀个int数据: 结果:地址⼀样

  • 两个引⽤指向同⼀个str数据 结果:地址⼀样

  • 两个引⽤指向同⼀个list数据 结果:地址不⼀样 因为列表是可变类型

6.6 变量的三个特性

对于每个变量,python都提供了这三个方法分别获取变量的三个特征,其中python的内置功能id(),内存地址不一样,则id()后打印的结果不一样,因为每一个变量值都有其内存地址,而id是用来反映变量值在内存中的位置,内存地址不同则id不同。

6.6.1 打印

a= 10
print(a)
# 打印出来的结果是10

6.6.2 判断变量值是否相等

a="good"
b="moring"
print(a==b)
# 打印出来的结果是False

6.6.3 判断变量id是否相等

a=11
b=11
print(a is b)
# 打印出来的结果是 True
a=11
b=15
print(a is b)
# 打印出来的结果是 False

七 常量

变量是变化的量,常量则是不变的量。python中没有使用语法强制定义常量,也就是说,python中定义常量本质上就是变量。如果非要定义常量,变量名必须全大写。

Age= 18
print(Age)
#打印出来的结果是18
Age=Age+1
Print(Age)
#打印出来的结果是19

如果是常量,那就没必要更改,所以python就只制定了一个规范,而没指定常量的语法,

因此常量也是可以修改的,但不建议。

八 基本数据类型

8.1 基本数据类型

  • 数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值
类型 表示方法
文本类型 str
数值类型 int(整数型), float(浮点数), complex(复数)
序列类型 list(列表), tuple(元组), range(区间)
映射类型 dict(字典)
集合类型 set(集合), frozenset (冻结的集合)
布尔类型 bool(布尔)
二进制类型 bytes(字节), bytearray(新字节数组), memoryview (内存查看对象)

8.1.1 整数和⼩数

  • 整数 : 所有整数 例如 : a = 1 b = 100 c =999 都是int类型
  • ⼩数常量 : 所有⼩数 例如 a = 1.2 b=6.66 ⽤float类型表示

8.1.2 布尔值和空值

  • 布尔: 只有2个值⼀个是True ⼀个是False
  • **None常量:**只有⼀个数值就是None 也就是空值

8.1.3 字符串

8.1.3.1 什么是字符串
  • 字符串是由数字、字⺟、下划线组成的⼀串字符
  • 注意
    • 单引号或双引号不能混合使⽤
    • Python中⽤⼀对双引号或者⼀对单引号包裹的内容就是字符串

8.1.3.2 转义字符
  • 转义字符是⼀种特殊的字符常量。转义字符以反斜线""开头,后跟⼀个或⼏个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
  • 总结
\t 表示制表符
\n 表示换⾏符
\\ 表示反斜杠
\' 表示 '
\ '' 表示 ''
\(在行尾时)表示续行符
\e表示换页


8.1.3.3 ⻓字符串
  • ⻓字符串 ⼜叫做⽂档字符串 我们使⽤三重引号来表示⼀个⻓字符串’’’ ‘’'或‘’‘’‘’
  • 三重引号可以换⾏,并且会保留字符串中的格式
  • Python 长字符串由三个双引号"""或者三个单引号’’'包围,语法格式如下
"""长字符串内容"""'''长字符串内容'''



长文本注释,运行程序不会报错

8.1.3.4 格式化字符串
  • 第⼀种格式化字符串 拼串

  • 第⼆种格式化字符串 参数传递

  • 第三种格式化字符串 占位符

    • %s 字符串占位
    • %f 浮点数占位
    • %d 整数占位


  • 第四种格式化字符串 f’{变量}’

  • 第五种格式化字符串:str.format ()

8.1.3.5 字符串的其他操作
  • len() 字符串的⻓度

  • max() 最⼤值

  • min() 最⼩值

  • str.split()分割字符串

  • str.join()拼接字符串

  • str.find()查找字符串

  • str.replace() 替换字符串

  • str.partition() 把字符串分割为三部分

  • 去空格

    • s.strip() 左右两边去空格
    • s.lstrip() 去左边空格
    • s.rstrip() 去右边空格

  • 字符串⼤⼩写

  • s.upper() 全部⼤写

  • s.lower() 全部⼩写

  • s.isupper() 判断是不是⼤写

  • s.islower() 判断是不是⼩写

第三讲作业

  • a,b = 6, 8 我想让a=8 b=6我该怎么办?⽤2种⽅式实现

  • 完成字符串的逆序以及统计
    • 设计⼀个程序,要求只能输⼊⻓度低于31的字符串,否则提示⽤户重新输⼊
    • 打印出字符串⻓度
    • 使⽤切⽚逆序打印出字符串
      -

九 运算符

9.1 运算符的概念

  • 运算符⽤于执⾏程序代码运算,会针对⼀个以上操作数项⽬来进⾏运算。例如:2+3,其操作数是2和3,⽽运算符则是“+”

9.2 运算符的分类

  • 算术运算符
  • 赋值运算符
  • ⽐较运算符(关系运算符)
  • 逻辑运算符
  • 条件运算符(三元运算符)

9.2.1 算术运算符

  • 加法运算符 表现形式 +
  • 减法运算符 表现形式 -
  • 乘法运算符 表现形式 *
  • 除法运算符 表现形式 /
  • // 整除,只会保留计算后的整数位,总会返回⼀个整型int
  • % 取模,求两个数相除的余数
  • ** 幂运算,求⼀个值的⼏次幂
  • 字符串和字符串运算不支持减法和乘法
  • 字符串和数字乘法表示输出字符串的倍数
a = 10
b = 2
print("加法运算符", a + b)
print("减法运算符", a - b)
print("乘法运算符", a * b)
print("除法运算符", a / b)

a = 10
b = 3
print("// 整除", a // b)
print("% 取模", a % b)
c = 2
d = 3
print("** 幂运算", c ** d)
a1 = 9
print("开方计算", a1 ** 0.5)

9.2.2 赋值运算符

赋值运算符的特殊写法 x = x + 3 其实是和 x += 3 是⼀样的
+= (x+= 3 相当于 x = x + 3 )
-= (x -= 3 相当于 x= x - 3 )
*= (x = 3 相当于 x = x 3 )
**= (x **= 3 相当于 x = x ** 3 )
/= (x /= 3 相当于 x = x/ 3 )
//= (x //= 3 相当于 x = x // 3 )
%= (x %= 3 相当于 x= x % 3 )

9.2.3 ⽐较运算符

  • ⽐较运算符⽤来⽐较两个值之间的关系,总会返回⼀个布尔值。如果关系成⽴,返回True;否则返回False
  • ‘’> ⽐较左侧值是否⼤于右侧值
  • ‘’>= ⽐较左侧的值是否⼤于或等于右侧的值
  • < ⽐较左侧值是否⼩于右侧值
  • <= ⽐较左侧的值是否⼩于或等于右侧的值
  • 特殊的⽐较⽅式
    • == ⽐较两个对象的值是否相等
    • != ⽐较两个对象的值是否不相等
    • is ⽐较两个对象是否是同⼀个对象,⽐较的是对象的id
    • is not ⽐较两个对象是否不是同⼀个对象,⽐较的是对象的id

9.2.4 逻辑运算符

9.2.4.1 not 逻辑⾮
  • not可以对符号右侧的值进⾏⾮运算,对于布尔值,⾮运算会对其进⾏取反操作,True变False,False变True

  • 0,空串,None, 还有一些表示空性的值都会转换为True, 其他的值都可以转换为False

  • 下面几个代码运行结果都是True

a = not 0
b = not None
c = not {
   }
d = not []
print(a)
print(b)
print(c)
print(d)
9.2.4.2 and 逻辑与
  • and可以对符号两侧的值进⾏与运算。 只有在符号两侧的值都为True时,才会返回True,只要有⼀个False就返回False
  • 与运算是找False的,如果第⼀个值为False,则不再看第⼆个值
    下面代码只有第一个是True, 其余都是False
a = 10 > 1 and 45.6 > 44
a1 = 1 > 10 and 45.6 > 44
a2 = 1 > 10 and 45.6 > 46
print(a)
print(a1)
print(a2)
9.2.4.3 or 逻辑或
  • 或运算两个值中只要有⼀个True,就会返回True
  • 或运算是找True的
    下面代码,只有第三个才是False,第一,第二都是True
a = 3 > 2 or 6 > 4
a1 = 3 > 2 or 4 > 6
a2 = 1 > 2 or 4 > 6
print(a)
print(a1)
print(a2)
9.2.4.4⾮布尔值的与或运算
  • 当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会返回原值
print(10 and 20)
print(2 and 0)
print("" or "https://www.baidu")
print(18.5 or "https:www.baidu")
# 返回结果:200https://www.baidu18.5
  • ⾮布尔值与运算的规则
  • 与运算是找False的,如果第⼀个值是False,则不看第⼆个值。如果第⼀个值是False,则直接返回第⼀个值,否则返回第⼆个值
  • ⾮布尔值或运算的规则
  • 或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个值是True,则直接返回第⼀个值,否则返回第⼆个值

9.2.5 条件运算符(三元运算符)

  • 条件运算符在执⾏时,会先对条件表达式进⾏求值判断
  • 如果判断结果为True,则执⾏语句1,并返回执⾏结果
  • 如果判断结果为False,则执⾏语句2,并返回执⾏结果
  • 语法: 语句1 if 条件表达式 else 语句2
a = 

本文标签: 基础知识Python