python期末考试重点_Python期末复习笔记

这篇博客总结了Python期末考试的重点内容,包括语言基础(命名规则、字符串、运算符)、数据类型(数字、字符串、列表、元组、字典、集合)、流程控制(分支、循环)、函数和模块、面向对象(类、继承、多态)等,并提供了实例和常用函数方法的讲解。此外,还涉及字符串格式化、数据结构操作、集合运算、随机抽取、去重等实用技巧。
摘要由CSDN通过智能技术生成

本篇根据老师画的重点基本上将期末考点都囊括了

如果发现有错误或遗漏欢迎各位在学习群里指正

可能看起来稍微有点多,但其实大部分都是代码

所有代码块都可以直接粘到编译器里执行,会报错的代码我都加了注释

(ง •_•)ง,加油

Python 语言基础

python规范

命名规则

必须以下划线或字母开头

前后单下划线为系统变量

双下划线开头为类的私有变量

关键字不能用作变量名

注释

单行注释以 # 开头

多行注释可用多个 # 或者用 三引号(文档注释)

多行语句

行尾使用反斜线(\)来续行

同一行写多条语句

语句间用分号(;)分隔

输入输出

输出print()

print默认在末尾换行

a = 1

b = 2

c = 3

# 直接输出多个变量

print(a,b,c) # 输出:1 2 3

# 使用 end参数用指定的字符替换末尾的换行符

print(a,end='@') # 输出:1@

# 使用format

print('a={}'.format(a))# 输出:a=1

print('a={0},b={1},c{2}'.format(a,b,c))# 输出:a=1,b=2,c3

输入input()

input输入的始终是字符串,需要转换为其他数据类型使用

python 数据类型

六个标准数据类型

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Sets(集合)

Dictionary(字典)

Number

包括:int(整型)、float(浮点型)、bool(布尔型)、complex(复数)、long(长整型)

清楚哪些值转换为布尔类型后值是False

print(bool([])) # 输出:False

print(bool('')) # 输出:False

print(bool({})) # 输出:False

print(bool(())) # 输出:False

# 注意下面两个的区别

print(bool(0)) # 输出:False

print(bool('0')) # 输出:True

浮点数的内置函数运算会有误差,也就是小数的精度问题

String

字符串属于序列,除此之外还有:元组、列表(集合和字典不是序列类型)

单引号和双引号可以互换,也可以互嵌

三引号表示多行字符串(也可以作为文档注释)

另外:三引号内可以直接使用回车、制表符,可以不使用转移字符来表示

字符串常用操作

连接和重复

print(‘hello’*3,’ wor’+’ld’) # 输出:hellohellohello world

字符串的切片(左闭右开)

word = 'hello world'

print(word[0:5]) # 输出:hello

print(word[:5]) # 输出:hello

print(word[1:]) # 输出:ello world

print(word[:]) # 输出:hello world

print(word[0:5:2]) # 输出:hlo

print(word[2:-2]) # 输出:llo wor

print(word[-2:2]) # 输出空串

转义字符

要注意这种复杂的转义字符一起输出

在字符串内的“\r”、”\t”、”\n”等字符,会转换为空白字符(回车符、水平制表符、换行符……)

printf('hello\tworld') # 输出:hello world

Raw字符串(字符串内不转义)

字符串前缀为’R’或‘r’

print(r‘hello\tworld’) # 输出:hello\tworld

变量及其赋值

简单赋值

a = 1

多目标赋值

a=b=c=1 # 这种情况下a、b、c都是引用同一个变量

这样会报错

a=(b=c=1) a=(b=1)

序列赋值

左边是元组、列表表示的多个变量,右侧是元组、列表或字符串等序列表示的值。

序列元素个数必须和变量个数相等,否则会出错

在变量名前使用“*”创建列表对象引用

a,b = 1,2 # 省略括号的元组赋值

(c,d) = (2,3) # 元组赋值

[e,f] = [4,’5’] # 列表赋值

(g,h) = [‘6’,7] # 元组和列表可以交叉赋值

(x,y,z) = ‘abc’ # 字符串赋值,x=‘a’,y=‘b’,z=‘c’

(i,j) = (8,9,10) # 这是错误的,变量和值的个数必须相等

在变量名前使用“*”创建列表对象引用

x,*y = ‘abcd’

print(x,y) # 输出:a [‘b’,’c’,’d’]

运算符和表达式

包括:算术运算符、关系运算符、字符串运算符、逻辑运算符。

算术运算符和表达式

算术运算符包括:加(+)、减(-)、乘(*)、除(/)、取余(%)、整除(//)、幂运算(**)

a+=1和a=a+1等价,a-=1、a//=2等也类似

要注意这种复杂的表达式的运算优先级

int(8 * math.sqrt(36) * 10 ** (-2) *10 + 0.5)/10

运算顺序如下:

int(8 * 6 * 10 ** (-2) * 10 + 0.5)/10

10**(2)=0.01

8 * 6 = 48

int(48 * 0.01 * 10 + 0.5 )/10

int(5.3)/10

5/10

0.5

逻辑运算符

and(逻辑与),or(逻辑或),not(逻辑非)

关系运算符

==(等于)、!=(不等于)、<>(不等于)、>(大于)、=(大于等于)、<=(小于等于)

运算符的优先级

最高优先级的三个运算符(优先级由高到低):** 幂运算、~ 安位取反、- 负号

最低优先级的几个运算符(优先级由高到低):| 按位或、< > <= >= == != 关系运算符、not and or逻辑运算符

字符串运算符

下面这些运算对于列表、元组都有效(因为它们同属序列类型)

字符串连接(+)

print('a'+'b') # 输出:ab

重复字符串(*)

print('a'*3) # 输出:aaa

索引字符串( [] )

a='hello'; print(a[1]); # 输出:e

截取字符串( [:] )

print(a[1:4]) # 输出:ell

成员运算符( in )

print('e' in a) # 输出:True

成员运算符( not in )

print('e' not in a) # 输出:False

Raw字符串( r/R )

print(R'he\tllo') # 输出:hello\nllo

格式字符串(%)

print('hello %s%s' %('wor','ld')) # 输出:hello world

格式化

%c(转换为字符)

print('%c' %('hello')) # 报错,必须是ASCII码值或者一个字符,否则会出错

%r(使用repr()进行字符串转换)

print('%r' %('hello')) # 输出:'hello'

%s(使用str()进行字符串转换)

print('%s' %('hello')) # 输出:hello

.format() 格式化

print('a={}'.format('a')) # 输出:a=a

repr()函数和str()函数的区别就在于接受值和返回值不同

repr()函数和str()函数,分别会调用输入对象的__repr__()、__str__()特殊方法

%d或%i(转换为有符号十进制数)

print(‘%d’ %(-10)) # 输出:-10

%u(转换为无符号十进制数)

print('%u' %(-10)) # 输出:-10

有无符号是指在二进制下,最高位用来表示实际的数或是单纯表示正负

%o(转换为无符号八进制数)

print('%o' %(100)) # 输出:144

%x或%X(转换为无符号十六进制数)

print('%x' %(100)) # 输出:64

%e或%E(转换成科学计数法)

print('%e' %(1000)) # 输出:1.000000e+03

%f或%F

print('%f' %(100) # 输出:100.000000)

格式化操作辅助符

print('开始%10.2f结束' %(7.2222)) # 输出:开始 7.22

%10.2f 表示:最小总长度为10,不足用前导空格补齐,长度大于等于10则正常显示(这里的长度不包括小数点)

位运算符

异或:二进制数逐位对比相同为0,不同为1

10^2==8 1010 异或 0010 结果为:1000

运算符

说明

&

按位与

|

按位或

^

按位异或

~

按位去反

<<

按位左移

>>

按位右移

python 常用函数

数据类型转换函数

重点掌握加粗的函数

Python爬虫笔记python基础知识,以TXT文件呈现 一、概述 Python是著名的&ldquo;龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。 Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作&ldquo;内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。 龟叔给Python的定位是&ldquo;优雅”、&ldquo;明确”、&ldquo;简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。 那Python适合开发哪些类型的应用呢? 首选是网络应用,包括网站、后台服务等等; - PythonWeb 其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等; - Python 另外就是把其他语言开发的程序再包装起来,方便使用。 - 胶水语言 在 爬虫 科学计算 等领域有独特优势 AI Python的优点 简单易学 完善的语言特性 天然开源 丰富的社区支持 Python的缺点。 第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。 但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。 第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。 二、安装配置 安装包下载地址: http://www.python.org/download/ Python目前分为两大版本,互不兼容: 2.x.x 3.x.x 下载的时候要注意区分 根据需要的版本进行下载 目前两者都有所使用 双击安装 设置环境变量: 将python安装位置配置到PATH环境变量下。 三、运行方式 shell方式: 在cmd窗口中输入python进入命令行模式 在其中以交互式方式执行 shell方式调用py文件: 在文件中编写Python脚本 文件后缀为.py 进入该文件所在目录 直接执行./xxx.py IDE模式: pycharm pyDev for Eclipse **Python编码 Python默认读取py文件时采用的编码格式是 ASCII 格式,如果文件不是该格式很可能出现乱码问题造成异常。 解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 来通知Python解释器在读取文件时采用的编码集 四、标识符 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 Python 中的标识符是区分大小写的。 以下划线开头的标识符是有特殊意义的。 以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入; 以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。 五、语言细节 1.语句 Python通常一行为一条语句 不需要分号标识 Python 可以同一行显示多条语句,方法是用分号 ; 案例: print 'hello';print 'runoob'; 也可以使用反斜杠将一行语句分为多行解释: 案例: total = item_one + \.....................................................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值