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>}
1
2
字典处理函数及方法

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函数
1
2
3
4
5
6
九.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
1

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()

例题分析
例题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© + “K”) # 转换成字符串+文字
1
2
3
例题2
题目`:通过调用函数求结果
def l(x):
x = x * 2
return x
a = 4
b = l(a)
print(a,b)

4 8
1
2
3
4
5
6
解析:
通过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
1
2
3
4
5
6
7
####### 解析:
通过def定义一个函数,将其变量x变为全局变量,定义一个新的x的值,输出结果还是原来的值。

例题4
题目: sorted函数
a = {1,2,3}
b = {2,3,4}
print(sorted(a^b))

[1,4]
1
2
3
解析:
a^b是两个集合中不相同的元素放到一起,sorted将结果转化成一个列表。

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

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

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

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

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

22
1
2
3
解析:
a是字典,get是返回字典中对应的值,所以输出结果为22。

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

[4,3,2,1]
1
2
3
解析:
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
解析:
通过for循环日期,range(起始点,终止点,步长),以一周七天为一个步长,循环出的结果即为每个星期一。

例题十
题目:
s = ‘abcABCabc’
a = s.lower()
print(a)
b = s.split(’,’)
print(b)
c = s.count(‘a’)
print©
d = s.replace(‘a’,‘d’)

abcabcabc
[‘abcABCabc’]
2
dbcABCdbc
1
2
3
4
5
6
7
8
9
10
11
解析:
slower即将该字符串所有字母都小写,split将其形成一个列表,count即统计字母a出现的次数,replace(a,d)即用d代替a。

例题十一
题目:打印九九乘法表
i = 1
while i<=9:
j = 1
while j<=i:
print(f"{i}{j}={ij}", end=’ ')
j += 1
print()
i += 1

11=1
2
1=2 22=4
3
1=3 32=6 33=9
41=4 42=8 43=12 44=16
51=5 52=10 53=15 54=20 55=25
6
1=6 62=12 63=18 64=24 65=30 66=36
7
1=7 72=14 73=21 74=28 75=35 76=42 77=49
81=8 82=16 83=24 84=32 85=40 86=48 87=56 88=64
91=9 92=18 93=27 94=36 95=45 96=54 97=63 98=72 9*9=81
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
解析:
通过两个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())
1
2
3
4
解析:
用 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=’’)
1
2
3
解析:
for循环1到10的数,输出i与空格,当循环指标能够被3整除时,输出一个换行符号\n。

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

‘我是shuli学院,dashuju专业,学号是12345678’
1
解析:
format前面{}顺序与()顺序一一对应。

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

1 3 5 7 9

1
2
3
4
5
解析:
循环遍历10以内的数,若能被2整除则跳出,进行下一次循环。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值