Python重要知识点梳理一

Python·Summary of important knowledge points in notes

摘要:

  本文主要是对照平时经常用到的Python知识点,结合一些实例而梳理,用于温故知新不断加深印象。也算是对这门语言的一个复盘总结与回顾。Python的详细语法请参阅官网或耳熟能详的在线网站。

Python官网

Python 3 _菜鸟教程

目录

Python·Summary of important knowledge points in notes

一、python position and function。

二、Setting up the Python environment

10.变量的多次赋值。

11.Python中常见的数据类型

12.数据类型-整数类型

13.数据类型浮点类型

18.Python中的注释

19.input函数的使用

20.input函数的高级使用

22.运算符_赋值运算符

23.运算符-比较运算符

24.运算符_布尔运算符

25.运算符_位运算

26.运算符的优先级

27.程序的组织结构_顺序结构

28.对象的布尔值

29.分支结构_单分支结构

30.分支结构_双分支结构

31.分支结构_多分支结构

34.pass语

35.range函数的使用

36.while循环

37.while练习题1到100之间的偶数和

38.for_in循环

39.for_in练习题100到999之间的水仙花数

40.流程控制语句break

41.流程控制语句continue

42.else语句

43.嵌套循环

44.二重循环中的break与continue

45.为什么需要列表

46.列表对象的创建

47.列表的特点

48.获取指定元素的索引

49.获取列表中指定的元素

 50.获取列表中的多个元素_切片操作

51.列表元素的判断及遍历

52.列表元素的添加操作

53.列表元素的删除操作

54.列表元素的修改操作

55.列表元素的排序操作

56.列表生成式

57.什么是字典

58.字典的实现原理

59.字典的创建

60.字典元素的获取

61.字典元素的增_删_改操作

62.获取字典视图

63.字典元素的遍历

64.字典的特点

65.字典生成式

66.什么是元组

67.元组的创建方式

68.为什么要将元组设计成不可变序列

69.元组的遍历

70.集合的概述与创建

71.集合的相关操作

72.集合间的关系

73.集合的数据操作

74.集合生成式

75.字符串的创建与驻留机制


一、python position and function。

  1. 为什么能成为网红?
    1. 对大数据分析、人工智能中至关重要的机器学习、深度学习都提供了大力的支持
    2. 背后有最最庞大的“代码库”
    3. 大家习惯称为“胶水语言”
  2. 能做些啥?
    1. 抢火车票、数据分析少踩杭、开发网站、开发游戏

二、Setting up the Python environment

  1. 1.安装Python解释器;2.安装pycharm集成环境(IDE)

Welcome to Python.org官网

Python Release Python 3.8.1 | Python.org

  1. 什么是转义字符呢?
    1. 就是反斜杠+想要实现的转义功能首字母。
  2. 为什么需要转义字符?
    1. 当字符串中包含反斜杠、单引号和双引号等有特殊用途的字符时,必须使用反斜杠对这些字符进行转义(转换一个含义)
      1. 反斜杠:\\
      2. 单引号:\'
      3. 双引号:\\"
  3. 当字符串中包含换行、回车,水平制表符或退格等无法直接表示的特殊字符时,也可以使用转义字符当字符串中包含换行、回车,水平制表符或退格等无法直接表示的特殊字符时,也可以使用转义字符.
      1. 换行:\n
      2. 回的:\r
      3. 水平制表符:\t
      4. 退格:\b

 

  1. Python中的标识符和保留字
  2. 我的保留字
    1. 有一些单词被我赋予了特定的意义,这些单词你在给你的任何对象起名字的时候都不能用。
#实例
import keyword 
print(keyword. kwlist)
#运行结果
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', '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']

  1. 我的规则你必须要知道
  2. 变量、函数、类、模块和其它对象的起的名字就叫标识符
    1. 规则:
      1. 字母、数字、下划线-
      2. 不能以数字开头
      3. 不能是我的保留字
      4. 我是严格区分大小写的

 

#实例
name='马丽亚”
print(name)
print('标识',id(name))
print('类型',type(name))
print('值',name)
#运行结果
马丽亚
标识2633937837872
类型<class 'str'>'
值 马丽亚

10.变量的多次赋值。

#实例
name= '马丽亚'
name='楚溜冰'
print(name)
#运行结果
楚溜冰

11.Python中常见的数据类型

  1. 常用的数据类型
  2. 整数类型→int →98
  3. 点数类型→float →3.14159
  4. 布尔类型→bool →True,False
  5. 字符串类型→str →'人生苦短,我用Python'

12.数据类型-整数类型

 

#实例
nl=90
n2=-76
n3=0
print(nl, type(n1))
print(n2, type(n2))
print(n3, type(n3))
#整数可以表示为二进制,十进制,八进制,十六进制
print('十进制',118)
print('二进制',Ob10101111)    #想要输出二进制前面必须加0b
print('八进制',0o176)    #八进制以00开头
print('十六进制',Ox1EAF)
#运行结果
90 <class'int'>
-76 <class 'int'>
0 <class' int'>
十进制 118
二进制 175
八进制126
十六进制7855
验证:打开windows系统Dos窗口键入calc打开程序计算器

13.数据类型浮点类型

 

#浮点类型
#浮点数整数部分和小数部分组成
#浮点数存储不精确性
#使用浮点数进行计算时,可能会出现小数位数不确定的情况
print(1.1+2.2)#3.30000000000
print(1.1+2.1)#3.2
解决方案
导入模块decimal 
from decimal import Decimal 
print(Decimal('1.1')+Decimal('2.2'))#3.3
#实例
a=3.14159
print(a,type(a))
nl=1.1
n2-2.2
print(nl+n2)
#运行结果
3.14159 <class ' float'>
3.3000000000000003
解决浮点不精确
from decimal import Decimal 
print (Decimal (' 1. 1')+Decimal (' 2. 2'))
#运行结果
3.3
浮点数与浮点数相加就会出现这个问题,二进制的底层逻辑问题
#实例
fl=True 
f2=False 
print (fl, type(f1))
print (f2, type (f2))
#布尔值可以转成整数计算
print(fl+1)
    #21+1的结果为2 True表示1
print(f2+1)
    #10+1的结果为1,False表示0
#运行结果
True <class'bool' >
False <class 'bool' >
2
1

14.数据类型布尔类型

布尔类型

用来表示真或假的值

True表示真,False表示假

布尔值可以转化为整数

True1

False→0

print(True+1)#2

15.数据类型_字符串类型

  1. 字符串类型
  2. 字符串又被称为不可变的字符序列
  3. 可以使用单引号”双引号””三引号””,或”””"”"来定义
  4. 单引号和双引号定义的字符串必须在一行三引号定义的字符串可以分布在连续的多行
str1='人生苦短,我用Python'
str2="人生苦短,我用Python"
str3=""人生苦短,我用Python""
str4=""人生苦短,
我用Python""
#实例
strl='人生苦短,我用Python'
str2="人生苦短,我用Python"    #单引号和双引号只能在一行实现
str3="""人生苦短,
我用Python"""
str4
='''人生苦短,
我用Python'''                #而三引号和三单引号可以多行实现
print(strl,type(str1)) 
print(str2,type(str2))
print(str3,type(str3))
print(str4,type(str4))
#运行结果
人生苦短,我用Python <class'str'>
人生苦短,我用Python <class'str'>
人生苦短,
我用Python <class'str'>
人生苦短,
我用Python <class'str'>

16.类型转换_str()函数与int()函数

#实例1
name='张三'
age=20
print(type(name),type(age))#说明name与age的数据类型不相同
print('我叫'+name+'今年,'+age+'岁')#当将str类型与int类型进行连接时,报错,解决方案,类型转换
#解决方案
print('我'+name+'Af,'+str(age)+'岁')
#将int类型通过str()函数转成了str类型
#运行结果(报错实例)1
<class'str'> <class 'int' >
Traceback(most recent call last):
    File"E:/vippython/chap2/demo8.py",line 8,in(module>
        print('我'+name+'今年,'+age+'')
TypeError:can only concatenate rstr(not"int")to str
#运行结果(解决实例)1
<class
'str'> <class 'int' >
我叫张三今年,20岁
#实例2
print('-----str()将其它类型转成str类型-----')
a=10
b=198.8
c=False 
print(type(a),type(b),type(c))
print(str(a),str(b),str(c),type(str(a)),type(str(b)),type(str(c)))
#运行结果2
---str()将其它类型转成str类型----
<class'int'> <class'float'> <class'bool'>
10 198.8 False <class'str'> <class'str'> <class'str'>
#实例3
print('--------int()将其它的类型转int类型------')
s1='128'
f1=98.7
s2='76.77'
ff=True 
s3='hello'
print(type(s1),type(f1),type(s2),type(ff),type(s3))
print(type(s1),type(fl),type(s2),type(ff),type(s3))
print(int(sl),type(int(s1)))    #将str转成int类型,前提是字符串为数字串

print(int(f1),type(int(f1)))    #float转成int类型,截取整数部分,舍掉小数部分
#print(int(s2),type(int(s2))) #将str转成int类型,报错,因为字符串为小数串
print(int(ff),type(int(ff)))
#print(int(s3),type(int(s3))) #将str转成int类型时,字符串必须为数字串(整数),非数字串是不允许转换
#运行结果3
-----int()将其它的类型转int类型----
<class'str'> <class'float'> <class'str'> <class'bool'> <class'str'>
128 <class
'int'>
98 <class 'int'>
1
<class ' int'>
#实例4
print('-----float()函数,将其它数据类型转成float类型')
s1='128.98'
s2='76'
ff=True 
s3='hello'
i=98
print(type(s1),type(s2),type(ff),type(s3),type(i))
print(float(sl),type(float(s1)))
print(float(s2),type(float(s2)))
print(float(ff),type(float(ff)))
#print(float(s3),type(float(s3)))     #字符串中的数据如果是非数字串,则不允许转换
print (float (i), type (float (i)))
#运行结果4
128.98 <class float'>
76.0 <class 'float'>
1.0 <class 'float'>
98.0 <class ' float' >

18.Python中的注释

  1. 注释
    1. 在代码中对代码的功能进行解释说明的标注性文字,可以提高代码的可读性
    2. 注释的内容会被Python解释器忽略
    3. 通常包括三种类型的注释
      1. 单行注释→以"#"开头,直到换行结束
      2. 多行注释→并没有单独的多行注释标记,将一对三引号之间的代码称为多行注释
      3. 中文编码声明注释→在文件开头加上中文声明注释,用以指定源码文件的编码格式
# coding:gbk
# coding:utf-8    中文编码声明注释,语句需要写在文档最前面
#输入功能(单行注释)
print('hello')
'''嘿嘿
,我是
多行注释'''

19.input函数的使用

#实例
#输入函数input 
present=input('大圣想要什么礼物呢?')
print(present,type(present))
#运行结果
大圣想要什么礼物呢? 定海神针    #后面的定海神针手动在运行结果中输入
定海神针<class 'str'>

20.input函数的高级使用

#练习题题干
#从键盘录入两个整数,计算两个整数的和
#实例
a=input('请输入一个加数:')
a=int(a)    #将转换之后的结果存储到a中
b-input('请输入另一个加数:')
b=int(b)
print(type(a),type(b))
print(a+b)
#运行结果
请输入一个加数:10    #后面的10这个要求输入的加数手动在运行结果中输入
请输入另一个加数:20    #后面的20这个要求输入的加数手动在运行结果中输入
1020    #没转数据类型的错误值
30    #转int数据类型后的正确值
#从运行结果得知,10加20应为30,但实际输出结果为1020,原因分析是数据类型问题,数据类型为str,因此+号就变成了连接作用
#当然也可以直接把转换写进去,写成嵌套的形式
a=int(input('请输入一个加数:'))
#a=int(a)    
#将转换之后的结果存储到a中。这句目前为注释掉
b=int(input('请输入另一个加数:'))
#b=in(b)    #这句目前为注释掉
print(type(a),type(b))
print(a+b) 

21.运算符_算术运算符

#标准运算符实例1
print(1+1)#加法运算
print(1-1)#减法运算
print(2*4)#乘法运算
print(1/2)#除法运算
print(11/2)#除法运算
print(11//2)#5 整除运算
#运行结果1
2
0
8
0.5
5.5
5
#取余运算符实例(也称取模运算)2
print(11%2)#取余运算
#运行结果2
1
#幂余运算符实例(也称取模运算)3
print(2**2)#表示的是2的2次方
print(2**3)#表示的是2的3次方 2*2*2
#运行结果3
4
8

  1. 算数运算符

#实例
print (9//4) #2
print (-9//-4) # 2    负负得正
print (9//-4) #-3    9/-4等于2.2多少,2除完还有余数上10,继续2。因此按照算数运算符的整数运算规则:一正一负向下取整,所以是-3.  
print (-9//4) # -3
print(9%-4)    #-3     公式 余数=被除数-除数*商  9-(-4)*(-3)     9-12-->  -3
print(-9%4)    #3    
-9-4*(-3)  -9+12--> 3
#运行结果
2
2
-3
-3
-3
3

22.运算符_赋值运算符

#赋值运算符,运算顺序从右到左
#实例1
a=3+4    #运算逻辑:先将等号右侧计算结果,然后再将结果赋值给a
print(a)
#运行结果1
7
#链式赋值
#实例2
a-b=c=20
print(a,id(a))
print(b,id(b))
print(c,id(c))
#运算结果2
20 140708881340672    #值都是20,标识都相同,标识就是内存地址,可理解为a值的唯一识别码
20 14070888134067
2    #它的type肯定是Int,value都是20
20 140708881340672    #所以这里的链式赋值只有一个整数对象,但却有abc三个引用在指向这个位置上,这就是所说的链式赋值
#参数赋值
实例1
print('-------支持参数赋值-----)
a=20
a+=30
    #相当于a=a+30
print(a)
a-=10
    #相当于a=a-10
print(a)
a*=2
    #相当于a=a*2
print(a)
print(type(a))    #得出结论数据类型为int
a/=3
print(a)
print(type(a))    #得出结论数据类型为float
a//=2
print(a)    #float类型a和2进行整除,结果还是float类型
a%=3
print(a)
#运行结果1
50
40
80
<class 'int'>
26.666666666666668
<class 'float'>
13.0
<class 'float'>
1.0
#支持系列解包赋值
a,b,c=20,30,40    #简单讲就是分别赋值,20赋值给a、30赋值给b,40赋值给c(要求等号两边相同,否则会报错)
#实例2
print('-----解包赋值-------')
a,b,c=20,30,40
print(a,b,c)
#a,b=20,30,40     报错,因为左右变量数的个和值的个数不对应
#运行结果2
------解包赋值-----
20 30 40
解包赋值好处:在其他编程软件中,如果要实现两个变量的交换,可能需要中间变量,但python中一句代码就可以
#实例3
print('-------交换两个变量的值-------')
a,b=10,20
print('交换之前:',a,b)
#交换
a,b-b,a print('交换之后:',a,b)
#运行结果3
-----交换两个变量的值-----
交换之前:10 20
交换之后:20 10

23.运算符-比较运算符

#实例1
#比较运算符,比较运算符的结果为bool类型
a,b=10,20
print('a>b吗?',a>b)    #False 
print('a<b吗?',a<b)    #True 
print('a<=b吗?',a<=b)    #True 
print('a>=b吗?',a>=b)    #False
print('a==b吗?',a==b)    #False     #一个=称为赋值运算符,==称为比较运算符
print('a!=b吗?',a!=b)    #True
#运行结果
a>b吗?False 
a<b吗?True 
a<=b吗?True 
a>=b吗?False
a==b吗?False 
a!=b吗?True
'''一个变量由三部分组成,标识,类型,值
比较的是值还是标识呢?    比较的是值
比较对象用is    #id标识
'''
a=10
b=10    #a和b赋值都是10,它会现在内存当中看下有没有10这个值,如果有就不再新创建了,它会把标识也叫做和10赋值的标识一样的,同样也会指向这个标识
print(a==b)
    #True 说明,a与b的value 相等
print(a is b)    #True 说明,a与b的id标识,相等
#以下代码本节之前没有,后面会有
#实例2
lst1=[11,22,33,44]
lst2=[11,22,33,44]
print(lstl==lst2)
    #value
 -->True     
print(lstl is lst2)    #id
     -->False 
print(id(1st1))
print(id(1st2))
print(a is not b)#False a的id与b的id是不相等的吗?运行结果是false,为不相等
print(lstl is not lst2)#True    a的id与b的id是不相等的吗?运行结果是true,为相等
#运行结果
2672524714432
2672525955712    #得出结论两个id标识并不相同
False
True

24.运算符_布尔运算符

#实例
#布尔运算符
a,b=1,2
print('-----and并且-------')
print(a==1 and b==2)    #True True and True-->True 
print(a==1 and b>2)    #False True and False-->False 
print(a!=1 and b==2)    
#False False and True-->False 
print(a!=1 and b!=2)    #False False and False-->False
print('-----or或者-------')
print(a==1 or b==2)    #True or True -->True
print(a==1 or b<2)    #True or False -->True
print&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

某酷菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值