欢迎光临散文网 会员登陆 & 注册

花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈

2023-07-08 19:26 作者:狴犴ys  | 我要投稿

# 第一章 

## 输入输出print

> print函数的作用是向目的地输出内容

> 内容可以是: 字符串,数字,表达式

> 目的地可以是:控制台,文件

print可以在控制台输出字符串

```py

print("Hello World!")

```

输出数字

```py

print(114514)

```

输出含有运算符的表达式

```py

print(114000 + 514)

```

向文件输出,就是编写文件内容

```py

fp = open("D:/Project/Python/study/day01/text.txt", "a+")# 第一个变量是文件路径,第二个变量表示续写文件

print("hello world", file = fp)

fp.close() #关闭文件

```

不换行输出

```py

print("114","514")

print(114,"514")

print(114,514)

```

## 转义字符

> 大多数编程语言会有一些特殊字符:回车,换行,制表符..,这些字符可以通过转义字符反斜杠在字符串中表示出来:\


![在这里插入图片描述](https://img-blog.csdnimg.cn/bca15261638f4b5db3cd7572c551b93a.png)

换行符,可以让字符串多行输出

```py

print("第一行\n第二行")

```

回车,回车和换行符不一样会,回车会让回车符之前的字符串不输出

```py

print("hello\rworld")

```

制表符

```py

print("hello\tworld")

print("helloooo\tworld")

```

> 一个制表符代表四个空格,但是制表符前面的字符数不是4的整数倍,制表符会补全空格,使字符总数变成4的整数倍

![在这里插入图片描述](https://img-blog.csdnimg.cn/82acb9fcd97148f3af7f5f51da8abaf9.png)

退格,退格会把退格字符前一个字符去掉

```py

print("hello\bworld")

```

双引号、单引号、反斜杠

```py

print("这是一个单引号\'")

print("这是一个双引号\"")

print("这是一个反斜杠\\")

```

在字符串之前写一个r可以让程序忽视转义字符,但是字符串最后的字符不能是单数个反斜杠

```py

print(r"这是两个反斜杠\\") # 这是两个反斜杠\\

print(r"a\"a") # a\"a

print(r""") # 这个会报错

```

## 字符编码

>chr()函数是Python中的一个内置函数,它接受一个整数参数,并返回对应的Unicode字符。

ord()函数是另一个Python中的内置函数,它接受一个Unicode字符作为参数,并返回对应的整数值。

chr()函数和ord()函数是互逆的,即ord(chr(x)) == x和chr(ord(c)) == c。它们可以在需要将整数和字符之间进行转换的情况下使用。请注意,chr()函数和ord()函数只适用于Unicode字符,而不适用于ASCII字符或其他字符集。

```python

print(chr(23002)) # 姚

print(ord("姚")) #23002

```

## 标识符和保留字

>我们给变量、函数、类、模块和其它对象起名名字叫标识符

在python中一些单词本赋予了特殊的含义,标识符不能使用这些特殊单词,这些单词就叫做保留字(关键字)


>定义标识符的规则:

>可以使用字母(大小写)、数字、下划线

>不能以数字开头

>不能是保留字

>严格区分大小写


使用keyword库中的keyword变量即可查看有哪些保留字

```py

import keyword

print(keyword.kwlist)

```

## 变量

>变量由三部分组成,id,类型,值。id是该变量在内存中的唯一地址


定义变量: 变量名 = 值,python中定义变量不需要写变量的类型

```py

name = "张三"

```

可以通过函数来获取变量的id和类型

```python

print(id(name)) # 2644770188400

print(type(name)) # <class 'str'>

```

变量可以多次赋值

```py

name = '张三'

print(name) # 张三

name = '李四'

print(name) # 李四

```

## 数据类型

> 整型 int 114514

> 浮点型 float 114.514

> 布尔型 bool True(代表真) ,False(代表假)

> 字符串类型 str "张三" '张三'

### 整形

> 整形 integer 简写为int 可以表示正整数、负整数和零

> 整数有不同的表达方式:

> 十进制->默认的进制

> 二进制->以0b开头

> 八进制->以0o开头

> 十六进制->以0x开头

```py

a = 123 #123

b = 0b101010 #42

c = 0o177 #127

d = 0x1ae #430

print(a,b,c,d)

```

### 浮点型

> 浮点数由整数部分和小数部分组成

> 但浮点数存在不精确性

```py

a = 1.1

b = 2.2

print(a + b) #3.3000000000000003

```

> 解决不精确的方法:导入decimal模块

```py

from decimal import Decimal

print(Decimal('1.1') + Decimal('2.2')) # 3.3

# 主要这里的1.1和2.2是字符串类型

```

### 布尔类型

> 布尔类型只有两个值,一个是真:True,一个是假:False,可以在判断语句中使用

> 布尔类型数据可以转换成数字,Ture可转换为1,False可转换成0

```py

bool1 = True;

bool2 = False;

print(bool1,type(bool1)) #True <class 'bool'>

print(bool2,type(bool2)) #False <class 'bool'>

```

### 字符串类型

> 字符串类型是非常常见的数据类型,它可以用单引号,双引号,三引号来表示

> 三引号就是三个单引号或者三个双引号,用三引号可表示多行字符串

```py

str1 = '张三' # 单引号

str2 = "李四" # 双引号

str3 = r'''王五

    赵六''' # 三个单引号的三引号

str4 = """王五

    赵六""" # 三个双引号的三引号

print(str1,type(str1)) #张三 <class 'str'>

print(str2,type(str2)) #李四 <class 'str'>

print(str3,type(str3)) 

#王五

#    赵六 <class 'str'>

print(str4,type(str4))

#王五

#    赵六 <class 'str'>

```

### 数据类型转换

不同数据类型的数据可以相互转换

int数据可以由字符串或者float数据转换(使用int()函数)

float数据可以由int或者字符串数据转换(使用float()函数)

字符串数据也可以由int或者float类型数据转换(使用str()函数)

布尔类型数据也可以转换成int类型数据,True代表1,False代表0

![在这里插入图片描述](https://img-blog.csdnimg.cn/5bcd4872e2274c4c97d21ecd366d9149.png)

int()

```py

a = "1"

b = '-1'

c = 1.1

d = True

print(int(a),type(int(a)))# 1 <class 'int'>

print(int(b),type(int(b)))# -1 <class 'int'>

print(int(c),type(int(c)))# 1 <class 'int'>

print(int(d),type(int(d)))# 1 <class 'int'>

```

float()

```py

a = 1

b = '-1'

c = "1.12"

print(float(a),type(float(a)))# 1.0 <class 'float'>

print(float(b),type(float(b)))# -1.0 <class 'float'>

print(float(c),type(float(c)))# 1.12 <class 'float'>

```

str()

```py

a = 122

b = 1.11

c = True

print(str(a),type(str(a)))# 122 <class 'str'>

print(str(b),type(str(b)))# 1.11 <class 'str'>

print(str(c),type(str(c)))# True <class 'str'>

```

## 注释

> 注释即为嵌入在程序中的,对程序没有影响的,对代码有标注性意义的文本。(这是我给注释下的定义)

> 注释可分为单行注释和多行注释

> 单行注释用井号来表示"#"

> python中没有多行注释,但是你可以写一个多行字符串,不给他添加变量来代替多行注释

```py

# 单行注释

"""

多行注释

"""

```

还有一个特殊类型注释,中文编码声明注释,声明该文件的编码格式

```

# coding: gbk

```

# 第二章

## input()函数

> 参数:在控制台的提示文字

> 作用:input函数数用于获取标准输入(通常是键盘)获取用户的输入,它的返回值就是用户的输入

> 返回值:input函数的返回值都是str类型,如果需要其他类型的数据,就使用类型转换函数进行转换

```py

str = input("请输入一个字符串:"); # bianys

print(str,type(str)) #bianys <class 'str'>

str = input("请输入一个数字:"); # 2

print(str,type(str)) #2 <class 'str'>

```

可以看到,就算输入的是数字,返回的也是字符串类型的数据。

## 运算符

### 算术运算符

```py

print(1+1) #加法运算符:+

print(1-1) #减法运算符:-

print(1*1) #乘法运算符:*

print(3/2) #除法运算符:/ 1.5

print(3//2) #整除运算符://,返回值向下取整 1

print(9//-4) # -3

print(-9//4) # -3

print(5 % 3) #取余运算符:%,余数 = 被除数 - 除数*商

print(-5 % 3) # 1

print(5 % -3) # -1

print(2**3) #幂运算符:**,该表达式表示2的三次方

```

### 赋值运算符

>赋值运算符就是给变量赋值的,用直接赋值,链式赋值,参数赋值,解包赋值

>

直接赋值

```py

a = 3

print(a)

```

链式赋值

```py

a=b=c= 20

print(a,b,c) # 20 20 20

```

参数赋值

```py

a=10

a+=5

print(a)# 15

a-=5

print(a)# 10

a*=5

print(a)# 50

a/=5

print(a)# 10.0

a//=5

print(a)# 2.0

a%=5

print(a)# 2.0

```

解包赋值,按照顺序赋值

```py

a,b,c = 10,20,30 

print(a,b,c) # 10 20 30

a,b = b,a

print(a,b)# 20 10

```

### 比较运算符

>比较运算符是一类给变量的大小、真假进行判断的运算符,返回布尔类型数据

```py

a,b = 10,20

print(a>b)#False

print(a>=b)#False

print(a>=b)#False

print(a>=b)#False

print(a<=b)#True

print(a<b)#True

print(a==b)#False

print(a!=b)#True

```

== 和 is

> 判断变量是否同有两种方式,一种是==,另一种是is

> == 是对变量的值进行比较

> is 和 is not 是针对变量的地址,也就是id进行比较

```py

a = 10

b = 10

print(a==b,id(a),id(b)) #True 140732815369288 140732815369288

print(a is b,id(a),id(b)) #True 140732815369288 140732815369288

a = [1,2,3]

b = [1,2,3]

print(a==b,id(a),id(b)) # True 2014458369216 2014460169280

print(a is b,id(a),id(b)) # False 2014458369216 2014460169280

print(a is not b,id(a),id(b)) # True 2014458369216 2014460169280

```

in 与 not in

>in判断一个变量是否在另一个变量集合中,这个变量集合其实就是数组(字符串可当作字符数组)

>in 与 not in 正好相反,判断一个变量是否不在另一个变量集合中

```py

list = [1,2,3,4]#这是一个数组

print(1 in (1,2,3))#True

print(5 in list)#False

print(1 not in [1,2,3])#False

print(8 not in [1,2,3])#True

```

### 布尔运算符(逻辑运算符)

>对布尔类型数据进行计算的运算符是布尔运算符,返回值也是布尔类型的值

>都有and、or、not 分别对应着与、或、非,运算逻辑不多展示。

```py

print(True and False) # False

print(True and True) # True

print(True or False) # True

print(False or False) # False


print(not True) # False

print(not False) # True

```

### 位运算符

python中的位运算符有 &(与)、|(或) 、<<(左移运算)、>>(右移运算)

```py

print(4 & 3) # 按位相与:0

print(4 | 3) # 按位相或:7

print(129 << 1) # 4左移1位,逻辑左移:258

print(4 >> 1) # 8又移2位,逻辑右移:2

print(255 >> 2) # 逻辑右移:63

```

### 运算符的优先级

> 算数符的优先级

 小括号>算术运算>位运算>比较运算符>布尔运算符>赋值运算符(=)

 ** > (*,/,//,%) > (+,-) > (<<,>>,&,|) > (>,<,==,>=,<=.is,is not,in) > (and,or,not) > (=)

```py

 a = 2**2 * 3 + 1 > 1 << 4 and True

b = 2**2 * 3 + 1

c = 1 << 4

print(a)# False

print(b)# 13

print(c)# 16

```

# 第三章

## 程序的组织结构(程序的流程控制)

![在这里插入图片描述](https://img-blog.csdnimg.cn/944fabb22f8042a6aeb741e667c015fe.png)

程序的运行结构分为三种,顺序结构,选择结构,循环结构

### 顺序结构

>顺序结构就是程序由上到下,由左到右依次执行。

```py

print("开始把大象放入冰箱")

print("1-打开冰箱")

print("2-把大象放进冰箱")

print("3-关闭冰箱")

print("结束")

"""输出结果

开始把大象放入冰箱

1-打开冰箱

2-把大象放进冰箱

3-关闭冰箱

结束

"""

```

### 对象的布尔值

>在python中,任何东西都是对象,所有的对象都有一个对应的布尔值,可以通过内置函数bool()来获取对象的布尔值

>除了以下几个对象的布尔值是False,其他对象的布尔值都是True

False,0,0.0,"",'',None,空列表[],list(),空元组(),tuple(),空字典{},disc(),空集合set()

```py

# 以下输出返回值全是False

print(bool(False)) # False

print(bool(0)) # 零

print(bool(0.0))# 零点零

print(bool(""))# 空字符串

print(bool(None))# 空对象

print(bool([]))# 空列表

print(bool(list()))# 空列表

print(bool(()))# 空元组

print(bool(tuple()))# 空元组

print(bool({}))# 空字典

print(bool(dict()))# 空字典

print(bool(set()))# 空集合

```

### 单分支结构

介绍

>单分支结构就是,如果满足某个条件,就做某件事


语法

>if 布尔表达式:

缩进(一般是4格)要做的事

缩进(一般是4格)要做的事

缩进(一般是4格)要做的事

...


例如

```py

money = 2000000

if money > 114514: #注意这里有个冒号

  print("土豪啊")

```

### 双分支结构

介绍

>双分支结构就是,如果满足某个条件,就做某件事,否则就做另一件事


语法

>if 布尔表达式:

缩进(一般是4格)要做的事

缩进(一般是4格)要做的事

缩进(一般是4格)要做的事

else:

缩进(一般是4格)另一件事

缩进(一般是4格)另一件事

缩进(一般是4格)另一件事

...


例如

```py

height = 190;

if height >= 180:

  print("长得真高啊")

else:

  print("长的真低啊")

```

### 多分支结构

介绍

>如果满足某个条件,就执行某件事,如果不满足,否则,如果满足另一个条件,就执行另一件事,否则....,最后所有条件都不满足,执行某一件事。


语法

>if 布尔表达式1:

  代码1

elif 布尔表达式2:

  代码2

elif 布尔表达式3:

  代码3

... ...

else:

  代码n


例如

```py

if 100 <= score >= 90:

  print("真厉害,不愧是我的儿子")

elif score >= 80:

  print("这回考得不错")

elif score >= 70:

  print("正常发挥,还行")

elif score >= 60:

  print("这回考的不行,给你一个大比兜")

elif 0 <= score < 60:

  print("龟孙贼,来来来,看你能不能看到明天的太阳!")

else:

  print("这逼老师,瞎几把判的分吧")

```

### 嵌套分支

>分支结构是可以嵌套的,分支结构里面也可以写分支结构


![在这里插入图片描述](https://img-blog.csdnimg.cn/5c1980cc1e0f4c5aac1719b4b9d27e4a.png)

例如

```py

money = int(input("消费金额:"))

haveCard = input("是否有会员卡(y/n):")

if haveCard == "y":

  if money >= 200:

    print("打8折,消费:", money * 0.8, "元")

  elif money >= 100:

    print("打9折,消费:", money * 0.9, "元")

  else:

    print("不打折,消费:", money, "元")

else:

  if money >= 100:

    print("打九五折,消费:", money * 0.95, "元")

  else:

    print("不打折,消费:", money, "元")

```

### 条件表达式

>条件表达式是一个表达式,是表达式它返回的就是一个值

>他会根据条件的不同返回两个不同的值


语法

值1 if 布尔表达式 else 值2 # 如果布尔表达式为True,返回值1,否则返回值2

```py

a = 10

b = 20

print("a>b" if a > b else "a<=b")

```

### pass语句

pass代表空语句,当我们在一个地方必须要代码,否则会报错的时候,我们可以暂时用pass来代替

```py

if True:

#这个地方必须写代码,否则会报错

else:

#这个地方必须写代码,否则会报错

```

```py

# 这样就不会报错了

if True:

pass

else:

pass

```

### 内置函数range()

>range返回一个range类型的对象,range对象可以通过list函数转换成一个数组

>根据参数的不同返回的集合也不同

>range(int a) # a代表返回从0到a-1的一个数组,每个数之间的间隔为1

>range(int a,int b) # a代表返回从a到b-1的一个数组,每个数之间的间隔为1

>range(int a, int b, int c) # a代表返回从a到b-1的一个数组,每个数之间的间隔为c

```py

r = range(10) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(list(r))

r = range(2, 10) # [2, 3, 4, 5, 6, 7, 8, 9]

print(list(r))

r = range(2, 7, 2) # [0, 2, 4, 6, 8]

print(3 in r) # False

print(4 in r) # True

print(5 not in r) # True

```

注意:range()函数返回的只是一个range类型的对象,并不是一个数组,因此在内存中占空间是比较小的,当使用list()函数将其转换成一个数组后,他才是一个真正的数组。

### 循环

花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈的评论 (共 条)

分享到微博请遵守国家法律