Python网络课程_基础笔记

DOS命令:

  1. 切换盘符: 输入盘符+冒号 ,回车 : d:

  2. 直接访问根目录:cd \

  3. 进入目录: cd + 文件夹名 支持Tab自动名称补全

  4. 返回上一级目录 cd..

  5. 查看该目录下的子目录/子文件(不包含隐藏文件): dir

  6. 查看该目录下的子目录/子文件(包含隐藏文件): dir/a

  7. 查看该目录下的子目录/子文件(只显示隐藏文件): dir/ah

  8. 打开文件:切换该文件所在目录:输入文件名

  9. 创建文件夹:md + 文件夹名称 或者 md + 已经存在文件夹\创建文件名称(make dirctory缩写)

  10. 删除目录:rd + 目录名称 (只能删除空目录)

  11. 显示指定文件的内容:type + 文件名称

  12. 创建文件 并将文件写入到文件: echo 内容> 文件路径(将内容清除,再写入新内容) 或者 echo 内容>> 文件路径 (拼接旧内容在写入新内容)

  13. 删除文件:del *.* (删除所以文件)

  14. 清屏: cls

  15. 拷贝文件:copy 原文件路径 目标文件路径(只能拷贝文件、不能拷贝文件夹)

  16. 剪切文件:move 原文件路径 目标文件路径

  17. 退出控制台:exit()

---

课程概述

执行Python程序的三种方式:

  • 解释器 - python/python3

  • 交互性 - ipyton

  • 集成开发环境 - Pycharm

计算机语言

计算机中的数据使通过二进制的形式来存储运算的,与计算机交互的时候我们需要的运算操作指定了一套与计算机交互的语法规则,这套语言规则称之为 编程语言

Python语言历史

1989 年出现的硅叔

2000 年 出现一个版本 2.0 ,并出现一个支持web开发的框架Django

2010 年出现2.7 (相当于2.x 与 3.x 过度)

Python官方声明 2.x 最多支持到 2020 年,不再对 2.x 版本维护了


Python基本使用[DOS下]

进入python

查看版本python -v

退出exit()


Python编码特点

  • Python 是一个格式非常严格的程序设计语言
  • 每行代码之前都不要加空格

PyCharm错误汇总

NameError:name 'pirnt' is not defined
# 名称错误:'pirnt' 名字没有定义

syntaxError: invalid syntax
# 语法错误:语法无效

IndentationError: unexpected indent
# 缩进错误, 不期望出现的缩进

##注释

注释作用

使用自己的语言描述代码的功能,不属于程序语言,只是给我们使用者解读使用。
使用用自己熟悉的语言,在程序中对某些代码进行标注说明,增强程序的可读性。

###注释 PEP8 编码规范及实例

  • 注释应该是完整的句子。如果一个注释是一个短语或句子,它的第一个单词应该大写,除非它是以小写字母开头的标识符(永远不要改变标识符的大小写!)。
  • 如果注释很短,结尾的句号可以省略。块注释一般由完整句子的一个或多个段落组成,并且每句话结束有个句号。在句尾结束的时候应该使用两个空格。
  • 为了提高可读性, 注释应该至少离开代码2个空格.
  • 在非英语国家的Python程序员,请使用英文写注释,除非你120%的确信你的代码不会被使用其他语言的人阅读。

####块注释

  • 块注释通常适用于跟随它们的某些(或全部)代码,并缩进到与代码相同的级别。块注释的每一行开头使用一个#和一个空格(除非块注释内部缩进文本)。
  • 块注释内部的段落通过只有一个#的空行分隔。

单行注释:单行注释以 # 开头 + 空格 + 注释内容

  # 注释内容

####行内注释

  • 有节制地使用行内注释。
  • 行内注释是与代码语句同行的注释。行内注释和代码**至少要有两个空格分隔。**注释由#和一个空格开始。
  • 事实上,如果状态明显的话,行内注释是不必要的,反而会分散注意力。

多行注释(2种):多行注释用三个单引号'''或者三个双引号""" 将注释括起来

'''
   注释内容
'''
OR
"""
   注释内容
"""

####文档字符串

  • 要为所有的公共模块,函数,类以及方法编写文档说明。非公共的方法没有必要,但是应该有一个描述方法具体作用的注释。这个注释应该在def那一行之后。
  • PEP 257 描述了写出好的文档说明相关的约定。特别需要注意的是,多行文档说明使用的结尾三引号应该自成一行,例如:
"""Return a foobang
Optional plotz says to frobnicate the bizbaz first.
"""

对于单行的文档说明,尾部的三引号应该和文档在同一行。

变量

Q : A车 匀速行驶 200 Km ,多久行驶 1000Km

x= 1000 / 200

Q : B车匀速行驶 300 Km,多久能追上A车,A车行驶至 1000 Km时候出发

200 * x = 1000
x = 1000 / 200 = 5  # A车行驶至1000Km用时

200*(x + y) = 300 * y  # y为B车用时
200 * 5 + 200 * y = 300 * y
1000 = 100 * y
y = 1000 / 100
y = 10

变量的概念

  • 程序就是来处理数据的,而变量就是用来存储数据的。
  • **官方概念 **: 变量的作用 是来储存数据的,以便于以后期的使用和修改。并且还提供一个为数据标记,一个描述性的名字变量名,我们可以在程序中根据这个名字更好的阅读和理解该变量的用意。
  • 简单理解:变量就是一个存储数据的容器。

变量声明与定义

变量在使用前一定要先进行声明,并且进行初始化赋值
每个变量在使用前都必须赋值,变量赋值以后,该变量才会被创建。

# 变量名 = 数据              # 这个过程叫做赋值       
a = 11                     # = 等号用来给变量赋值
a,b = 11, 12               # 等号左边是一个变量名
a = b = 11                 # 等号右边是存储在变量中的值

###变量编码错误

#  Eorror 语法1
print(a)  
#  NameError: name 'a' is not defined
#  没有声明变量 a
#  Eorror 语法2
first_name = "zhang"
x = 10
x + firest_name 
#  TypeError: unsupported operand type(s) +:'int' and 'str'
#  类型错误:`+` 不支持的操作类型: 'int' 和 'str'

计算机存放数据过程

  1. 需要在线内存中开辟一个空间,这块空间称之为变量,作用是用来存放变化的数据
  2. 为这个空间提供了一个标记性的名字,可以通过这个名字获得开辟空间,进而获取数据

  1. 内存中开辟的空间,每个空间都有自己都地址。

  2. 内存中的分区之一:常量池,存放的是具体数据。

  3. 特点:如果该数据在常量池中存在,直接获取数据地址,将地址付给变量;

    ​ 如果该数据不存在,先将数据存放在常量池中,在讲数据对应的地址赋值给变量。
    ###不同类型变量之间的计算

  4. 数字型类型变量之间可以直接计算:
    如果变量是 bool 型,在计算时

    • True 对应1
    • False 对应 0
  5. 整数 浮点数 布尔型可以相互进行运算。

  6. 字符串变量之间 + 拼接字符串。

  7. 字符串变量 可以和 整数 使用* 重复拼接相同的字符串。

  8. 数字型变量 和 字符串 之间 不能进行其他计算。


变量的输入

所谓的输入,就是用代码获取用户通过键盘输入信息。


输出语句

重点内容概念:将内容输出给用户查看的函数

代码结构

print(*values, sep=' ',end='\n', file=sys.stdout, flush=False)

\n 相当于换行

values 表示输出的内容,可以输出一个\多个,输出多个的时候,每个内容之间用,隔开。

sep 多个内容的分隔符,默认是空格。

end 输出语句的结束语,默认是以换行为结束。

file 将输出的内容放到指定的容器内。

flush 将输出的内容刷新到目的地,默认是False



标识符

概念 : 用于程序中自定义名字的规范

标识符的组成: 英文字母, 数字, 下划线

标识符的组成及注意事项

  1. 不能以数字开头
  2. 不能使用Python中的已经应用的关键字[变色的就不要使用了]
  3. 第一个字符必须是 字母表中字母下划线 _
  4. 标识符的其他的部分由 字母 , 数字下划线 组成。
  5. 标识符对大小写敏感。

Python保留字

​ 保留字即关键字,我们不能把它们用作任何标识符名称。

​ Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

import keyword
keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

数据类型

变量是用来存储数据的, 数据格式是多样化的

变量对应的数据类型是根据赋予的值来确定的

数值类型

整数int long
浮点数 float
复数型 complex

​ 具有实部 和 虚部: 3 + 4j

字符串类型 str

​ 字符串类型数据的标识:

​ 使用单引号 '''a' '.' '好'

​ 双引号 " " : “a” “.” “好”`

​ 多个字符: name = 'name' OR name ="name"

布尔类型_bool

描述状态的类型,值只有 TrueFalse,也可以用 0或者 1

0 即为 True

列表类型 _list

存放的是多个变量的容器,标识[ ]

元组类型_tuple

存放的是多个变量的容器,标识( )

list VS tuple 区别

不同点list []中的元素的值是可变的tuple ( )中的元素的值不可变

共同点 : 添加在容器中的元素都有自己的编号, 从 0 开始的这个标号也称之为 索引 或者是 下标或者是 脚标

字典类型_dict

存放的数据是键值对格式的,建和值是一一对应的。标识{key:value, key1:value1}

要求:键是不允许重复的,是唯一的。

键的类型对应的数据必须是不可变的

集合_set

把他理解成是存放字典key 的容器

集合中的元素是不容许重复的(用于排重)

list0 = [99, 22, 44 ,88 , 99, 11, 22, 99]

空值类型_None

只有一个值 None ,代表的状态是空。

a = None 该变量没有指向任何地址

变量在使用之前要先进行声明和赋予初始值,在赋予初始值时,不知道该给变量赋什么值,就可以赋予None

用户输入

input 封装了用户输入的功能

python3.x 输出都是字符串类型

格式:value = input(用户提示语句)

在程序中使用input接受用户输入时,获得数据类型是字符串类型的str

类型转换

int(x) 将对应的数据转化为整形,一般将字符串/浮点型转化。

将这个数据转化为整形

注意事项:如果 x 的类型为字符串类型,需要保证 x 的数据值必须是纯数字的,否则转换失败

float(x)将对应的数据转化为浮点型,一般字符串/整形转化为浮点型。

将 x 这个数据转化为浮点型

注意事项:如果 x 的类型为字符串类型,需要保证 x 的数据值除了 .之外没有其他的非数字符号,否则转换失败

bool(x) 将对应的数据转化为bool类型

数值类型:非 0 即True

字符串类型:数值0 或者 空的 或者 None字符序列为False,其他为 True

str(x) 将对应的数据类型转换为字符串类型

ord(x) 获取字符对应的十进制数据(单个字符)

chr(x)将十进制数据转化为字符

eval(code)解析代码

代码是包含在字符串中的

通过 eval 这个功能在字符串中解析出来,并按照正常的代码进行运行

res = "12 + 34"
print(res)
# 12 + 34

res = eval("12+ 34")
print(res)
# 46

bin(x)将数据转化为二进制

oct(x)将数据转化为八进制

hex(x) 将数据转化为十六进制

list(x) 将数据转化为列表

tuple(x) 将数据转化为元组

dict(x) 将数据转化为字典

set(x) 将数据转化为合集

运算符

算数运算符

算数运算符是 运算符 的一种
完成基本的 算术运算 使用 符号,用开处理四则运算

基本运算符 + - * / // % **

+ - * /

// 整除 5//2 = 2

% 取余 5%2 => 5//2 = 2 --1 => 余数为 1

** 求幂数 x**y # x 的 y 次方

符合运算符 += -= *= /= //= %= **=

赋值运算符 =

等号左边的变量等待被赋值 a = b 等号右边的变量是取其值

+= -= *= /= //= %= **= 等同于等号(左边变量 +左侧符号)转义到等号右侧

a += b    # a = a + b
a -= b    # a = a - b
a *= b    # a = a * b
a /= b    # a = a / b
a //= b   # a = a // b
a %= b    # a = a % b
a **= b   # a = a ** b
# 等同于等号(左边变量 +左侧符号)移动到等号右侧 

算数运算符的优先级

和数学中的运算符的优先级一致,在Python中进行数学计算时,同样也是:

  1. 先乘除后加减
  2. 同级别运算从左至右计算
  3. 可以使用()调整计算的优先

以下表格的算数优先级由高到低顺序排列
| 运算符 | 描述 |
|:-------?:------------- |
| ** | 幂(最高优先级) |
| * / % // | 乘 / 除 / 取余数 / 取整数 |
| ± | 加法 / 减法 |

作者:欧薇娅
链接:https://www.jianshu.com/p/b03a8d7b1719
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

关系运算符

< > <= >= == != 运算结果都为 bool类型

逻辑运算符

逻辑运算符两边的表达式都是 bool 类型的,运算结果也是bool类似的。

逻辑与 and 并且的关系,两边同时成立结果才为真,一假则全假
True and True = True
True and False = False
False and True = False
逻辑或 or 或者的关系,一个结果成立,则结果成立,一真则全真
True or [True / False] = True
False or False = False
逻辑非 not 真变假,假变真
not True = False
not False = True
优先级 not > and > or

逻辑或的短路原则:左边表达式成立,右边不参与运算 [不会被执行]

逻辑与的短路原则:左边表达式不成立,那么右边表达式不算参与运算,直到遇到or ,去计算or 表达式。

三元运算符A:条件表达式 and 表达式1 or 表达式2

注意:完成之后,有数据结果出现的,并且这个结果可以给变量赋值。

执行流程:但条件表达式成立时候,执行表达式1 ,获得表达式1的结果;

​ 否则执行表达式2,获得表达式2 的结果。

流程弊端:当 0 1参与运算时,弊端显示。

三元运算符B:条件表达式 if 表达式1 else 表达式2

成员运算符

针对与序列 [字符序列/元素/字典/集合]而言,包含与不包含的关系,返回为 bool 类型

in 判断 x 是否包含在序列中

out in判断 x 是否不包含在序列中

身份运算符

两个变量的身份地址是否一致

id(x)获得变量的内存地址

is 地址是都相同 id(x) == id(y)

is not 地址是都不同 id(x) != id(y)

位运算符(了解)

提高运算符的等级使用 ( ) 包含来提高

你可能感兴趣的:(Python)