学习python笔记01 (python01零基础入门教程)

01_Python学习笔记-基础篇(入门基础)

li_zliang

01_Python学习笔记-基础篇(入门基础)

第一章 入门及基础知识

1.1 入门

1.1.1 *载下**安装

1.1.2 解释器

1.1.3 IDE开发工具

1.1.4 py及执行

1.1.5 版本

1.2 基本语法

1.2.1 编码

1.2.2 缩进风格

1.2.3 程序组成

1.2.4 标识符

1.2.6 注释

1.2.7 变量赋值

1.2.8 常量

1.2.9 多行拼接

1.2.10 对象

1.2.12 代码组

1.2.13 空行

1.2.14 Print 输出

1.2.15 转义字符

1.2.16 一切皆对象

1.3 数据类型

1.4 运算符

1.4.1 算术运算符

1.4.2 比较运算符

1.4.3 逻辑运算符

1.4.4 同一运算符

1.4.5 位运算符

1.4.6 成员运算符

1.4.7 增强赋值运算符

1.4.8 适用类型(待修订)

1.4.9 运算符优先级

1.5 时间

1.6 变量、函数、类、包、库

第一章 入门及基础知识

1.1 入门

1.1.1 *载下**安装

https://www.python.org/

  1. Linux 平台安装 Python3
  2. Window 平台上安装 Python3
  3. 配置环境变量

1.1.2 解释器

  1. doc命令行或shell 交互式解释器
  2. 安装后自带的交互式解释器CPython
  3. 还有很多其他的解释器

1.1.3 IDE开发工具

IDE和解释器是一样的,开发运行python程序的工具

  1. IDLE(自带)
  2. PyCharm(常用)
  3. Visual Studio Code
  4. spyder
  5. Jupyter
  6. ...

1.1.4 py及执行

交互式模式直接输入代码即可执行

python xxx.py

1.1.5 版本

python2 和 python3,直接用python3;

1.2 基本语法

1.2.1 编码

Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串;

1.2.2 缩进风格

统一缩进,不管几个空格,但是要统一,一般tab(4个空格);

1.2.3 程序组成

程序 - 包 - 模块 - 类/函数/语句,一个模块对应一个py文件;

1.2.4 标识符

用于变量、函数、类、模块等的名称;

  1. 区分大小写,如:sxt 和 SXT 是不同的;
  2. 第一个字符必须是字母、下划线,其后的字符是:字母、数字、下划线;
  3. 不能使用关键字。比如:if、or、while 等;
  4. 以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类的构造函数;

类型

规则

例子

模块和包名

全小写字母,尽量简单,若多个单词之间用下划线

math, os, sys

函数名

全小写字母,多个单词之间用下划线隔开

phone, my_name

类名

首字母大写,采用驼峰原则;多个单词时,每个单词第一个字母大写,其余部分小写

MyPhone、MyClass、Phone

常量名

全大写字母,多个单词使用下划线隔开

SPEED、MAX_SPEED

1.2.5 关键字

查看关键字:

>>>help()

>>>keywords;

或者

import keyword

keyword.kwlist

1.2.6 注释

# 单行注释

"""或者'''多行注释

1.2.7 变量赋值

变量名 = 表达式,不需要声明变量;

链式赋值:x=y=123,相当于:x=123; y=123;

系列解包赋值:a,b,c=4,5,6,相当于:a=4;b=5;c=6,个数必须一致;

pythonexcel基础入门,学习python笔记01

1.2.8 常量

Python 不支持常量,没有语法规则限制改变常量;只能程序上逻辑约定不对常量修改;

1.2.9 多行拼接

使用反斜杠 \ 进行多行拼接,解释器理解为一行;

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \ ;

1.2.10 对象

Python一切皆对象,每个对象由:标识(identity)、类型(type)、value(值)组成;在内存里哦;

1.2.11 用户输入

xxx = input("请输入值!")

1.2.12 代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、while、def和class这样的复合语句,首行以关键字开始,以冒号:结束,该行之后的一行或多行代码构成代码组。

1.2.13 空行

函数之间或类的方法之间用空行分隔;

类和函数入口之间也用一行空行分隔;

空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构;

1.2.14 Print 输出

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""

# 换行输出

print( x )

print( y )

# 不换行输出

print( x, end=" " )

print( y, end="XXXXX" ) //end="任意字符串",实现末尾添加任何内容;

无引号\单引号\双引号\三引号:

print(1314) //让计算机读懂括号里的内容,打印最终的结果

print('娜扎') //让计算机无需理解,原样复述引号内的内容

print("娜扎") //让计算机无需理解,原样复述引号内的内容,可含单引号

print('''娜扎, //同上,换行

张三,

李四

''')

1.2.15 转义字符

\a

响铃(BEL)

\b

退格(BS),将当前位置移到前一行

\f

换页(FF),将当前位置移动到下页开头

\n

换行(LF),将当前位置移动到下一行开头

\r

回车(CR),将当前位置移动到本行开头

\t

水平制表(HT),TAB

\v

垂直制表(VT)

\o

空字符(null)

\'

一个单引号字符

\"

一个双引号字符

\\

一个单斜线字符

1.2.16 一切皆对象

Python 对象包含三个部分:id(identity 识别码)、type(对象类型)、value(对象的值);

1.3 数据类型

分类

数据类型

说明

数值number

整数int

浮点float

复数complex

布尔boolean

字符串string

字符串string

不可变序列

元组tuple

元组tuple

不可变序列

列表list

列表list

可变序列

集合set

集合set

可变序列

字典dictionary

字典dictionary

可变序列

具体各个数据类型,在第二章详细讲解。

1.4 运算符

1.4.1 算术运算符

运算符

说明

示例

+

3+2 = 5

-

30-5 = 25

*

3*6 = 18

/

除(浮点)

8/2 = 4.0

//

除(整数)

7//2 = 3

%

模(取余)

7%4 = 3

**

幂(次方)

2**3 = 8

divmod(x,y)

函数,同时得到商和余,返回元组

divmod(13,3) = (4,1)

1.4.2 比较运算符

运算符

描述

示例

==

等于,比较对象的值是否相等

!=

不等于,比较对象的值是否不相等

>

大于,返回x是否大于y

<

小于,返回x是否小于y

>=

大于等于,返回x是否大于等于y

<=

小于等于,返回x是否小于等于y

所有比较运算符返回 1 表示真,返回 0 表示假,与True 和 False 等价;

1.4.3 逻辑运算符

运算符

描述

示例

or

逻辑或,两个变量有一个或两个都是True,则返回True,否则返回False

x or y

and

逻辑与,两个变量同时为True,则返回True,否则返回False

x and y

not

逻辑非,变量为True时,返回False,否则返回True

not x

1.4.4 同一运算符

运算符

描述

示例

is

判断两个标识符是不是引用同一个对象

x is y

is not

判断两个标识符是不是引用不同对象

x is not y

is 用于判断两个变量引用对象是否为同一个,既比较对象的地址;== 用于判断引用变量引用对象的值是否相等,默认调用对象的 __eq__()方法; is 运算符比 == 效率高,在变量和 None 进行比较时,应该使用 is;

1.4.5 位运算符

运算符

描述

实例

&

按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

(a & b) 输出结果 12 ,二进制解释: 0000 1100

|

按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。

(a | b) 输出结果 61 ,二进制解释: 0011 1101

^

按位异或运算符:当两对应的二进位相异时,结果为1

(a ^ b) 输出结果 49 ,二进制解释: 0011 0001

~

按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1

(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。

<<

左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

a << 2 输出结果 240 ,二进制解释: 1111 0000

>>

右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

a >> 2 输出结果 15 ,二进制解释: 0000 1111

位运算符是把数字看作二进制来进行计算的;

1.4.6 成员运算符

运算符

描述

实例

in

如果在指定的序列中找到值返回 True,否则返回 False

x 在 y 序列中 , 如果 x 在 y 序列中返回 True

not in

如果在指定的序列中没有找到值返回 True,否则返回 False

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True

1.4.7 增强赋值运算符

运算符

示例

等价

+=

a += 2

a = a + 2

-=

a -= 2

a = a - 2

*=

a *= 2

a = a * 2

/=

a /= 2

a = a / 2

//=

a //= 2

a = a // 2

%=

a %= 2

a = a % 2

**=

a **= 2

a = a ** 2

:=

海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符

if (n := len(a)) > 10:

1.4.8 适用类型(待修订)

运算符

适用类型

说明

算术运算符

整型、浮点型;其中+ *也适用于字符串

“a” + “b” = “ab”“a” * 3 = “aaa”

比较运算符

整型、浮点型、布尔、字符串、元组、列表、集合、字典

逻辑运算符

布尔

同一运算符

整型、浮点型、布尔、字符串、元组、列表、集合、字典

位运算符

整型、浮点型

成员运算符

字符串、元组、列表、集合、字典

所有序列

赋值运算符

整型、浮点型、布尔、字符串、元组、列表、集合、字典

1.4.9 运算符优先级

最高到最低优先级的所有运算符:

运算符

描述

**

算术运算符(幂)---最高优先级

~ + -

位运算符(按位翻转)

* / % //

算术运算符(乘,除,求余、取整)

+ -

算术运算符(加法减法)

>> <<

位运算符(右移,左移)

&

位运算符 (AND)

^ |

位运算符

<= < > >=

比较运算符

== !=

比较运算符

= %= /= //= -= += *= **=

赋值运算符

is is not

同一运算符

in not in

成员运算符

not and or

逻辑运算符

1.5 时间

计算机中的时间表示是从“1970-01-01 00:00:00”开始,以毫秒进行计算,把“1970”年这个时间成为“UNIN时间点”。

Python可以通过time.time()获取当前时间,返回的值是以秒为单位,带微秒的浮点数;

例如:123456789.654589;小数点前是秒数,小数点后是微秒数;

pythonexcel基础入门,学习python笔记01

1.6 变量、函数、类、包、库

  1. 变量
  • 变量名 = 表达式,不需要声明变量;命名详见标识符;
  1. 函数
  • 一个拥有名称、参数和返回值的代码块;命名: 全小写字母,多个单词之间用下划线隔开;
  • 用来描述具有相同的属性和方法的对象集合,对象是类的实例;命名:首字母大写,多个单词使用"驼峰原则";
  1. 模块
  • 一个Python文件就是一个模块,以.py结尾; 命名:全小写字母,尽量简单,若多个单词之间用下划线;
  • 作为目录存在的,包含一个__init__.py文件,包可以包含模块,也可以包含包; 命名:全小写字母,尽量简单,若多个单词之间用下划线;
  • 具有相关功能模块的集合,包括标准库、第三方库以及自定义模块等;