Python知识点总结及例题

Python知识点总结

一.Python注释

1.单行注释

在Python中使用 ‘#’ 此符号进行单行注释

2.多行注释

在Python中将包含在一对三引号(’’’……’’’)或者("""……""")之间,并且不属于任何语句的内容认为是多注释。

二.基本数据类型

1.数字类型:整数(int)、浮点数(float)、复数(complex)
2.字符串类型:str()、repr()
3.布尔类型:()
4.数据类型转换:int→整数型、float→浮点型、str→字符串型、hex→转化为十六进制字符串、oct→转化为八进制字符串

三.分支结构

1.单分支结构:if<条件>:
2.双分支结构:if…else
3.多分支结构:if…elif…else

四.循环

1.遍历循环:在这里插入图片描述
2.无限循环:在这里插入图片描述

五.random库的使用

1.random库是生成及使用随机数的Python标准库
2.使用:import random

在这里插入图片描述
– 基本随机数函数: seed(), random()

– 扩展随机数函数: randint(), getrandbits(), uniform(), randrange(),

choice(), shuffle()

六.Python组合数据类型

1.列表与元组—属于序列类型
序列处理函数及方法

在这里插入图片描述
在这里插入图片描述

(1) 列表类型及操作:使用方括号 [] 或list() 创建,元素间用逗号 , 分隔,创建后可随意修改。

在这里插入图片描述
在这里插入图片描述

(2) 元组类型及操作:使用小括号 () 或 tuple() 创建,元素间用逗号 , 分隔,创建后不可以修改。(操作同序列)
2.字典:是键值对的集合,键值对之间无序,键必须是唯一的,但值则不必。
            采用大括号{}和dict()创建,键值对用冒号: 表示
           {<键1>:<值1>, <键2>:<值2>, … , <键n>:<值n>}
字典处理函数及方法


在这里插入图片描述

3.集合:建立集合类型用 {} 或 set(),元素间用逗号分隔。建立空集合类型,必须使用set()
集合操作方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七.字符串类型

1.表示:使用单引号或者双引号,仅表示单行字符串;使用一对三单引号或三双引号,可表示多行字符串。
2.使用:使用[ ]获取字符串中一个或多个字符

(1)索引:返回字符串中单个字符 <字符串>[M]
(2)切片:返回字符串中一段字符子串 <字符串>[M: N]
(3)<字符串>[M: N: K],根据步长K对字符串切片

3.操作
字符串函数的处理方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.字符串类型的格式化:对字符串进行格式表达的方式

字符串format()方法的基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
在这里插入图片描述

槽内部对格式化的配置方式

在这里插入图片描述

八.函数

1.函数的定义:一段具有特定功能的、可重用的语句组,用函数名来表示并通过函数名进行完成功能调用,通过用def来定义。

def <函数名>(<参数列表>):
      <函数体>
      return <返回值列表> (可以传递0个返回值,也可以传递任意多个返回值)

2.函数的调用

(1)调用程序在调用处暂停执行;
(2)在调用时将实参复制给函数的形参;
(3)执行函数体语句;
(4)函数调用结束给出返回值,程序回到调用前的暂停处继续执行。

3.函数的形参和实参

(1) 在def语句中,位于函数名后面的变量通常称为形参。
(2) 调用函数时提供的值称为实参。

4.全局变量与局部变量

(1)全局变量:指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效。
(2)局部变量:指在函数内部使用的变量,仅在函数内部有效,当函数退出时变量将不存在。
(3)转化:通过global保留字在函数内部声明全局变量;局部变量为组合数据类型且未创建新变量,等同于全局变量

5.lambda函数

>>> f = lambda x, y : x + y
>>> f(10, 15)
25

>>> f = lambda : "lambda函数"
>>> print(f())
lambda函数

九.Python模块

1.定义:是一个包含所有你定义的函数和变量的文件,其后缀名是.py,可以被别的程序引入,以使用该模块中的函数等功能
2.种类:

(1)内置模块:如sys, os, subprocess, time, json 等等。
(2)自定义模块:自定义模块时要注意命名,不能和Python自带模块名称冲突。
(3)开源模块:公开的第三方模块, 如 https://pypi.org,可以使用pip install 安装,类似于yum 安装软件。

>>> help('modules') 查看python所有的modules
3.使用:

(1)使用 import语句,导入整个模块。
import module1, module2… # 建议一个import语句只导入一个模块。
import module as module_alias # 别名(也就是自定义的模块名称空间)
(2)from-import 语句 , 常用于只导入指定模块的部分属性或模糊导入。
from module import name1,name2…

>>> from pack1.pack2 import 
>>> from random import choice,random,seed

在这里插入图片描述

4.存放位置:
>>> sys.path.append('D:\\python')

十.标准库

1.os:可访问多个操作系统服务
函数/变量 描述
environ 包含环境变量的映射
System(command) 在子shell中执行操作系统命令
sep 路径中使用分隔符
pathsep 分割不同路径的分隔符
linesep 行分隔符
urandom(n) 返回n字节强加密随机数据
2.sys:访问与python解释器紧密相关的变量和函数
函数/变量 描述
argv 命令行参数,包括脚本名
exit([arg]) 退出当前程序,可指定返回值或错误消息
modules 一个字典,将模块名映射到加载的模块
path 一个列表,包含要在其中查找模块的目录名称
platform 一个平台标识符,如win32
stdin 标准输入流—一个类似与文件的对象
stdout 标准输出流
sdterr 标准错误流
3.其他

fileinput:文件处理
sets、heapq和deque:集合,堆,双端栈
time、datetime:时间处理
random:随机数
shelve:用于创建永久性映射
re:正则表达式
csv:处理csv文件
enum:枚举类型
logging:日志处理

十一.第三方库

1.三种安装方法
(1)使用pip命令(主要方法):

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)集成安装方法:结合特定Python开发工具的批量安装

在这里插入图片描述

(3)文件安装方法:安装包为带有源文件的压缩包,解压之后,运行setup.py进行安装,方法是执行 python setup.py install。

十二.异常处理

1.常见异常

在这里插入图片描述
(1)NameError:尝试访问一个未声明的变量
(2)ZeroDivisionError:除数为零
(3)SyntaxError:Python 解释器语法错误
(4)IndexError:请求的索引超出序列范围
(5)KeyError:请求一个不存在的字典关键字
(6)AttributeError:尝试访问未知的对象属性

2.异常处理:异常可以通过 try 语句来检测,任何在 try 语句块里的代码都会被监测,检查有无异常发生。

(1)try-except语句
在这里插入图片描述
在这里插入图片描述
(2)多个except 语句
在这里插入图片描述

(3)try …except…else 语句,当没有异常发生时,else中的语句将会被执行。
在这里插入图片描述
(4)try …except…finally 语句,无论异常是否发生,在程序结束前,finally中的语句都会被执行。
在这里插入图片描述
(5)try …except…else…finally 语句
在这里插入图片描述

3.抛出异常:要引发异常,可以使用raise语句,并将一个类(必须是Exception子类)或者实例作为参数。将类作为参数时,将自动创建一个实例。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.自定义异常

在这里插入图片描述

十三.文件处理

1.打开一个文件:f = open(r"C:\Users\test.txt") ; with open(文件名,模式)

在这里插入图片描述

在这里插入图片描述

2.关闭文件:f.close()

Alt

例题分析

例题1
题目:输入一个超过5位的整数,输出“XXXX万”和“XXXXK”

例如:输入:500000
           输出:50万 500K

解析:

先用input函数输出一个超过5位数的整数,再分别计算出结果,最后用print输出带单位的数

a = int(input("输入一个超过5位的整数:"))                 # 转化成整数型
b = int( a / 10000 )                                   # 转换成整数型
c = int( a / 1000 )                                    # 转换成整数型
print("输出:" + str(b) + "万" + " " + str(c) + "K")    # 转换成字符串+文字 
例题2
题目`:通过调用函数求结果
def l(x):
    x = x * 2
    return x
a = 4
b = l(a)
print(a,b)
>>> 4 8
解析:

通过def定义一个函数,x=x*2是函数的算法,定义a=4,通过b调用函数求出a,b值为4,8。

例题3
题目:全局变量
def l():
    global x
    x = 4
    return x
x = 5
l()
print(x)
>>> x = 4

####### 解析:
通过def定义一个函数,将其变量x变为全局变量,定义一个新的x的值,输出结果还是原来的值。

例题4
题目: sorted函数
a = {1,2,3}
b = {2,3,4}
print(sorted(a^b))
>>>[14]
解析:

a^b是两个集合中不相同的元素放到一起,sorted将结果转化成一个列表。

例题5
题目:写出下列代码的结果
a = {2, 4, 6}
b = {1, 2, 4, 6, 8}
a.update(b)
print( len(a) )
>>> 5
解析:

a和b都是集合,a.update(b)是将b中元素添加到a,而集合会把重复的元素删除,len(a)是数a集合中有多少元素,所以输出结果为5。

例题6
题目:写出下列代码的结果
a = {8, 2, 3, 4}
a.remove(3)
print(sum(a))
>>> 14
解析:

a为集合,remove是间集合a的指定元素删除,sum是计算集合a的所有元素相加的和,所以输出结果为14

例题7
题目:写出下列代码的结果
a = {1: 11, 2: 22, 3: 33}
b = a.get(2)
print(b)
>>> 22
解析:

a是字典,get是返回字典中对应的值,所以输出结果为22。

例题8
题目:写出下列代码的结果
a = [1,2,3,4]
a.reverse()
print(a)
>>> [4321]
解析:

a为一个列表,reversë将其里面的元素顺序颠倒。

例题9
题目:假定20170101为星期一,输出20170101-20170331的每个星期一。
print("三个月内的所有星期一为:")
for date in range(20170101,20170131,7):
    print(str(date))
for date in range(20170205,20170228,7):
    print(str(date))
for date in range(20170305,20170331,7):
    print(str(date)) 
>>>20170101
20170108
20170115
20170122
20170129
20170205
20170212
20170219
20170226
20170305
20170312
20170319
20170326
解析:

通过for循环日期,range(起始点,终止点,步长),以一周七天为一个步长,循环出的结果即为每个星期一。

例题十
题目:
s = 'abcABCabc'
a = s.lower()
print(a)
b = s.split(',')
print(b)
c = s.count('a')
print(c)
d = s.replace('a','d')
>>>abcabcabc
   ['abcABCabc']  
   2
   dbcABCdbc 
解析:

slower即将该字符串所有字母都小写,split将其形成一个列表,count即统计字母a出现的次数,replace(a,d)即用d代替a。

例题十一
题目:打印九九乘法表
i = 1
while i<=9:
    j = 1
    while j<=i:
        print(f"{i}*{j}={i*j}", end='  ')
        j += 1
    print()
    i += 1
>>>1*1=1  
   2*1=2  2*2=4  
   3*1=3  3*2=6  3*3=9  
   4*1=4  4*2=8  4*3=12  4*4=16  
   5*1=5  5*2=10  5*3=15  5*4=20  5*5=25  
   6*1=6  6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  
   7*1=7  7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  
   8*1=8  8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  
   9*1=9  9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81  
解析:

通过两个while判断i,j的值,每次循环后 i+1,j+1。

例题十二
题目:建立新文件 并将内容写入文件。
with open('1写入ANSI.txt', mode='w') as fp:
	fp.write('181234567890 邢无涯\n')
with open('1写入ANSI.txt', mode='r') as fp:
    	print(fp.name)
        print(fp.read())
解析:

用 w 模式在当前目录中建立新文件 ‘1写入ANSI.txt’,写入字符串,再次 r 模式打开文件,读取内容,打印输出文件名,打印输出文件内容。

例题十三
题目:用单个for配合if条件,循环九次打印下列矩阵:

1 2 3
4 5 6
7 8 9

for i in range(1,10):
    print(i, end=' ')
    if i%3==0 :
        print('\n', end='')
解析:

for循环1到10的数,输出i与空格,当循环指标能够被3整除时,输出一个换行符号\n。

例题十四
题目:format
s = '我是{}学院,{}专业,学号是{}'.format('shuli','dashuju','12345678')
>>>'我是shuli学院,dashuju专业,学号是12345678'
解析:

format前面{}顺序与()顺序一一对应。

例题十五
题目:输出10以内的奇数
for i in range(1,10):
    if i%2 == 0:
        continue
    print(i,end=' ')
>>>1 3 5 7 9
###

解析:

循环遍历10以内的数,若能被2整除则跳出,进行下一次循环。

Alt
###第一次写,大家点个赞鼓励鼓励 = =

版权声明:本文为weixin_46013771原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46013771/article/details/103676128