Python知识总结

基础了解

1. 变量命名规则
编号Python 变量名命名
1变量名必须是字母、数字、下划线,不能以数字开头(同C语言)
2变量名大小写敏感
3变量名最好“见名知意”
2. 输入输出函数
编号函数方法举例说明
1输入inputnumber = input(‘请输入数字:’)Input返回的结果只是一个字符串,如果需要输出其他类型,则需要进行类型转换
2输出printprint(int(number)*2)int:转换成整型,float:转换成浮点型,str:转换成字符串
3. 操作符
编号运算符号举例说明
1+print(1+2)-
2-print(4-8)-
3*print(3*5)-
4/print(4/2)结果是浮点类型
5取余%print(5%2)经常被用来判断奇偶数,能被2整除是偶数
6地板除//print(5//-3)向下取整,结果是往小了取,应该为-2
7乘方**print(2**3)表示2的3次方
8比较>、<、>=、<=、==、!=print(2==4)表达式的结果是布尔值,字符串大小取决于字典序,字典序从小到大排列:0-9 A-Z a-z
9and1 and 1两个为真,结果为真,只要有一个为假,结果为假
10or1 or 0两个为假,结果为假,只要有一个为真,结果为真
11not-非真即假
4. 异常处理
  • 使用try捕捉异常(将可能触发异常的代码放到try中)
  • 使用except具体处理异常
  • 如果异常能够被try捕捉到,就不会影响程序继续运行
try:
    list = [1,2,3,4]
    print(list[4])  #如果不加try,此行代码会报错
except Exception as error:
    print(error)  #可输出错误具体是什么
    print(type(error))  #输出错误类型
    print('134-135行代码有异常')
print('后面的程序可以继续正常执行')

一、Python数据类型

Python有6个标准的数据类型:数字、字符串、列表、元组、字典、集合

数据类型表示方法举例
数字-a=1
字符串‘’name=‘xuxian’
列表[]liebiao=[1,‘hu’,1.5,True,[1,2,3],(3,False)] #列表
元组()yuanzu=(1,‘hu’,1.5,True,[1,2,3],(3,False)) #元组
字典{}zidian = {‘ip’:‘171.2.3.191’,‘user_name’:‘admin’,‘password’:‘admin123’}
集合{}或者set()set={‘how’,‘old’,‘are’,‘you’}
1. 数字(number)
  • Python没有int、float这样的关键字,但实际上数据的类型是区分int、float这样的类型的
  • Python支持int(整数)、float(小数)、complex(复数)、bool(布尔)
  • 布尔类型的变量,是一种特殊的整数类型,在和整数进行运算时,True被当做1,False被当做0
编号类型举例
1inta=1
2floatb=0.1
3complexc=10+5j
4boold=True
2. 字符串(string)
2.1 总结
编号项目方法举例其他说明
1字符串展示使用单引号、双引号、三引号表示字符串,只要在引号里的,都是string类型name1 = ‘xuxian01’需遵循引号配对原则
2输出字符串里面想要带引号保证字符串最外层的引号与里面带的引号不一致即可name=“xu’xian’001”
3转义字符表示方法\表示转义,比如\n为换行符str1 = ‘hello world \nhahahha’想要输出\n,不让它带有换行含义,使用\\n
4字符串切片使用索引操作符[]或切片操作符[:]获取子字符串name[0]或name[0:2]切片为左闭右开区间,第一个字符索引是0,最后一个字符索引是-1
5字符串运算+用于字符串连接,*用于字符串重复name*4重复4次
6获取字符串长度len()len(name)
7格式化字符串%d:格式化整型,%s:格式化字符串print(‘尊敬的%s用户,欢迎您’%user_name) #单个格式化
8原始字符串在字符串前加rprint(r’hello\nworld’)
9字符串合并join()print(b.join(a))
10字符串拆分split()print(b.split(’-’))
11判断字符串开头startwith()print(a.startswith(‘hello world’))
12判断字符串结尾endwith()print(a.endswith(‘islily’))
13消除字符串首尾的空格和换行符strip()print(name.strip())
14查找子串find()print(name.find(‘jing’))如果找到,返回子串第一个字符的下标,如果没找到,则返回-1
15替换子串replace()new_name = name.replace(‘guojing’,‘huangrong’)存在多个相同子串时,会被同时替换,replace不会改变字符串本身,是临时修改
16判断字符串是否是字母str.isalpha()a = ‘abhjkk’ a.isalpha()字符串字包含字母时返回true,否则返回false
17判断字符串是否是数字str.isdigit()c = ‘12345’ c.isdigit()字符串只包含数字时返回true,否则返回false
2.2 字符串切片

(1)单独取1个字符

#字符串切片
name = '你abcdefghklyt'
#单独取一个字符
print(name[0])  #正取,取第一个字符,下标为0
print(name[-1])  #倒取,取最后一个字符,下标为-1

(2)取一个片段

#取一个片段
name ='abcdghjklou'
print(name[0:2])  #左闭右开
print(name[4:7])  #取下标为4-6的字符
print(name[:3])  #省略前面的数字时,从0开始取,取到2
print(name[3:])  #省略后面的数字时,从3开始取,显示后面的所有字符
print(name[:])  #正无穷到负无穷,全部取

(3)等差取值

#等差取值
name = 'abcdefghyjko'
print(name[::2])  #隔1个字符取一个值
print(name[::3])  #隔2个字符取一个值
print(name[::-3])  #翻转取值

(4)翻转取值

#等差取值
name = 'abcdefghyjko'
print(name[::-1])  #翻转取值
2.3 格式化字符串
user_name = '郭靖'
number = 666
print('尊敬的%s用户,欢迎您'%user_name)  #单个格式化
print('尊敬的%s用户,您的抽奖编号是%d'%(user_name,number))  #多个格式化
3. 布尔类型(bool)
编号含义
1True
2False
4. 列表(list)和元组(tuple)
4.1 列表与元组的表示方法
数据类型表示方法举例
列表[]liebiao=[1,‘hu’,1.5,True,[1,2,3],(3,False)] #列表
元组()yuanzu=(1,‘hu’,1.5,True,[1,2,3],(3,False)) #元组
  • 类似于C语言中的数组
  • 可以使用下标访问里面的元素,下标从0开始,最后一个下标为-1
  • 可以使用切片操作得到相应子集,与字符串操作一样
4.2 列表操作
编号项目方法举例备注
1修改列表liebiao[下标]=‘新元素’liebiao[0]=‘new’-
2列表排序(a本身不被改变)sortedsorted(a)默认从小到大排,括号里加reverse=True:从大到小排
3长度排序sorted(‘字符串’,key = len)sorted(a,key = len)默认从短到长排,加reverse=True:从长到短排
4排序(b本身被改变)sortb.sort()默认从小到大排,加reverse=True:从大到小排
5新增元素appendliebiao.append([1,4]) #新增元素增加的元素在最后
6删除元素(指定下标)deldel liebiao[-1] #删除最后一个元素-
7删除元素(按值删除)removeliebiao.remove(1) #删除值为1的元素如果有多个相同值,则删第一个
8列表比较大小> < == !=列表中的元素从左往右依次比较,且必须为同类型比较比较结果为true或false
4.3 列表和元组的区别
  • 列表里的元素可以被修改,包括新增、删除、修改
  • 元组里的元素不可被修改
    元组什么时候能被修改——当元组的子元素本身是一个被修改的对象,比如列表和字典时,可以修改列表和字典里面的内容,但不能把整个元素修改掉
5. 字典(dict)
5.1 字典的表示方法
数据类型表示方法举例
字典{}zidian = {‘ip’:‘171.2.3.191’,‘user_name’:‘admin’,‘password’:‘admin123’}
  • 字典是Python中的映射数据类型,存储键值对(key-value)
  • key是唯一的,必须存在,不能为空,值可以重复(对比新华字典)
  • 取值:按key来取值,不支持下标取值
5.2 字典操作
编号项目方法举例备注
1新增字典元素zidian[‘新增的键’]=‘对应的值’zidian[‘port’] = 80-
2修改字典zidian[‘要修改的键’]=‘修改的值’zidian[‘ip’] = ‘171.2.3.198’-
3删除字典-方法1deldel zidian[‘ip’]按照key,将key与value这一对同时删除
4删除字典-方法2clearzidian.clear()全部删除,删除之后会变成一个空字典
5删除字典-方法3popzidian.pop(‘user_name’)括号里跟要删除的键值对,删除键值对,但可以拿到被删除的值
6获取字典的keykey()zidian.keys()返回一个列表,包含字典中所有的key
7获取字典的valuevalues()zidian.values()返回一个列表,包含字典中所有的value
8获取字典的key和valueitems()zidian.items()返回一个列表,每一个元素都是一个元组,包含了key和value
  • 字典也是可变对象,但是键值对的key是不能修改的
6. 集合(set)
  • set是一个无序的不重复元素的序列
  • 用set()创建一个空集合,不能使用{},因为{}用来创建一个空字典
  • 使用set可以去重
  • 集合定义的元素顺序与输出的不一样,所以是无序的(元组和列表是有序的序列)

二、判断/循环语句

1. 判断
  • 基本用法
#else if简写为elif
if 1==2:
    print('111')  #1==2不成立,开始执行elif语句
elif 3<2:
    print('222')  #3<2不成立,执行下一个elif语句
elif 5>4:
    print('555')   #5>4成立,输出555
else:
    print('333')
print('444')
  • 条件表达式
min = x if x<y else y  #如果x<y,则min=x,否则min=y
2. while循环
#while循环
n = 1
while n<4:
    print('这是我循环的第%d次'%n)
    n+=1
  • 与if语句的区别是:if语句的条件只判断1次,while则每次都要判断是否成立,直到表达式不成立才会跳出循环。
  • 如果表达式一直为真,则会进入死循环
3. for循环
3.1 基础语法
#for循环,循环次数取决于被迭代的对象能被迭代的次数
name = 'hello'  #字符串是1个字符1次迭代
for n in name:
    print(n)
  • Python中的for循环和传统的for循环不太一样,for循环接收可迭代对象(序列或者迭代器)作为参数,每次迭代其中的一个元素
for循环的条件表达式迭代方式举例
字符串1个字符迭代1次for n in name:
列表1个元素迭代1次for m in liebiao:
元组一个元素迭代1次for a in yuanzu:
字典获取的是字典里面的key-
range函数左闭右开range(5):循环5次(0-4)
3.2 特殊记忆

(1)字典

获取内容举例
获取key,写法1for k in zidian:
获取key,写法2for k in zidian.keys():
获取valuefor k in zidian.values():
获取key和value,以元组形式输出for k in zidian.items():
将key保存到k中,value保存到v中for k,v in zidian.items():

(2)for循环生成列表

编号题目实现方法
1生成[0,4)的平方列表liebiao=[x**2 for x in range(4)]
2获取[0,8)区间中的所有奇数jishu=[x for x in range(0,8) if x%2 !=0]

三、函数

1. 常用内置函数
编号项目函数表示方法举例返回值
1返回绝对值abs()abs(-10)10
2计算商和余数(返回的是元组 )divmod()divmod(10,3)(3,1)
3对浮点数四舍五入round()round(5/3,2) #四舍五入,保留2位小数1.67
4跳出当前循环break适用于while和for循环-
5当次的循环结束,回到循环顶端,继续执行循环continue--
6占位passif n%3 !=0: pass当n不是3的倍数,什么也不操作,直接进行下一步
2. 自定义函数
  • Python使用del来定义一个函数,使用return来返回结果
编号函数类型举例说明
1定长函数def(x,y):-
2不定长函数def sum(*canshu):在参数前加*,python会自动将这些参数放到一个元组里
3不定长函数,成对传参def kv(**double):成对传参,加**

四、模块(module)

  • 模块导入意味着被执行
编号项目导入方式举例
1一般导入from [模块路径] import [导入的模块]from Python_zuoye import maopao
2给导入模块设置别名from [模块路径] import [导入的模块] as [别名]from Python_zuoye import maopao as maopao01
3多次加载模块(正常只会加载1次)使用importlib模块里的reload方法import importlib / importlib.reload(Python_zuoye)
4导入模块里的所有变量、自定义函数、类等import *from Python_zuoye import *
  • 如果某些函数不想被导入,可以在函数名前加下划线

五、类

#创建一个新的类
class Tester:
      #类的特殊方法,__init__方法里面定义的参数在实例化类的时候必须要传参
      def __init__(self,house_type):
      	  self.house_type = house_type
      developer = 'SOHO'

	  def show_price(self,s):
	  	  if self.house_type == '洋房':
	  	      print('单价30000/平方米')
	  	      print('整套的价格是:%d'% (30000 * s))
	  	  elif self.house_type == '小高层':
	  	      print('单价25000/平方米')
	  	  else:
	  	      print('单价20000/平方米')
#实例化类
a = Teser('洋房')
a.show_price(100)
a.house_type == '小高层'

六、文件操作

编号操作方法举例说明
1打开文件handle = open([文件名],’[打开方式]’,encoding=’[编码方式]’)file_1210 = open(r’G:\0-编学编测\2-第二阶段\python作业01.txt’,‘r’,encoding = ‘utf-8’)文件打开后一定要关闭
2读文件-读取指定长度readfile.read(2)返回1个字符串,读取2个字符,不常用
3读文件-读取一行数据readlinefile.readline()返回1个字符串,从已经读到的地方开始,读取当前一行
4读文件-读取整个文件readlinesfile.readlines()返回1个列表,可以按照下标取具体哪一行
5写文件writefile.write(‘这是写入的内容’)写文件之前,必须按照w(覆盖写)或a(追加写)的方式打开文件
6文件关闭closefile.close()文件打开后必须要关闭,否则占用内存
6文件打开后自动关闭with openwith open(‘test05.txt’,‘w’,encoding=‘utf-8’)不要再写close语句,常用
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晓晓白的软件测试进阶之路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值