基础了解
1. 变量命名规则
编号 Python 变量名命名 1 变量名必须是字母、数字、下划线,不能以数字开头(同C语言) 2 变量名大小写敏感 3 变量名最好“见名知意”
2. 输入输出函数
编号 函数 方法 举例 说明 1 输入 input number = input(‘请输入数字:’) Input返回的结果只是一个字符串,如果需要输出其他类型,则需要进行类型转换 2 输出 print print(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 9 与 and 1 and 1 两个为真,结果为真,只要有一个为假,结果为假 10 或 or 1 or 0 两个为假,结果为假,只要有一个为真,结果为真 11 非 not - 非真即假
4. 异常处理
使用try捕捉异常(将可能触发异常的代码放到try中) 使用except具体处理异常 如果异常能够被try捕捉到,就不会影响程序继续运行
try :
list = [ 1 , 2 , 3 , 4 ]
print ( list [ 4 ] )
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
编号 类型 举例 1 int a=1 2 float b=0.1 3 complex c=10+5j 4 bool d=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 原始字符串 在字符串前加r print(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 ] )
print ( name[ - 1 ] )
(2)取一个片段
name = 'abcdghjklou'
print ( name[ 0 : 2 ] )
print ( name[ 4 : 7 ] )
print ( name[ : 3 ] )
print ( name[ 3 : ] )
print ( name[ : ] )
(3)等差取值
name = 'abcdefghyjko'
print ( name[ : : 2 ] )
print ( name[ : : 3 ] )
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)
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本身不被改变) sorted sorted(a) 默认从小到大排,括号里加reverse=True:从大到小排 3 长度排序 sorted(‘字符串’,key = len) sorted(a,key = len) 默认从短到长排,加reverse=True:从长到短排 4 排序(b本身被改变) sort b.sort() 默认从小到大排,加reverse=True:从大到小排 5 新增元素 append liebiao.append([1,4]) #新增元素 增加的元素在最后 6 删除元素(指定下标) del del liebiao[-1] #删除最后一个元素 - 7 删除元素(按值删除) remove liebiao.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 删除字典-方法1 del del zidian[‘ip’] 按照key,将key与value这一对同时删除 4 删除字典-方法2 clear zidian.clear() 全部删除,删除之后会变成一个空字典 5 删除字典-方法3 pop zidian.pop(‘user_name’) 括号里跟要删除的键值对,删除键值对,但可以拿到被删除的值 6 获取字典的key key() zidian.keys() 返回一个列表,包含字典中所有的key 7 获取字典的value values() zidian.values() 返回一个列表,包含字典中所有的value 8 获取字典的key和value items() zidian.items() 返回一个列表,每一个元素都是一个元组,包含了key和value
6. 集合(set)
set是一个无序的不重复元素的序列 用set()创建一个空集合,不能使用{},因为{}用来创建一个空字典 使用set可以去重 集合定义的元素顺序与输出的不一样,所以是无序的(元组和列表是有序的序列)
二、判断/循环语句
1. 判断
if 1 == 2 :
print ( '111' )
elif 3 < 2 :
print ( '222' )
elif 5 > 4 :
print ( '555' )
else :
print ( '333' )
print ( '444' )
min = x if x< y else y
2. while循环
n = 1
while n< 4 :
print ( '这是我循环的第%d次' % n)
n+= 1
与if语句的区别是:if语句的条件只判断1次,while则每次都要判断是否成立,直到表达式不成立才会跳出循环。 如果表达式一直为真,则会进入死循环
3. for循环
3.1 基础语法
name = 'hello'
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,写法1 for k in zidian: 获取key,写法2 for k in zidian.keys(): 获取value for 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 占位 pass if 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 :
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 读文件-读取指定长度 read file.read(2) 返回1个字符串,读取2个字符,不常用 3 读文件-读取一行数据 readline file.readline() 返回1个字符串,从已经读到的地方开始,读取当前一行 4 读文件-读取整个文件 readlines file.readlines() 返回1个列表,可以按照下标取具体哪一行 5 写文件 write file.write(‘这是写入的内容’) 写文件之前,必须按照w(覆盖写)或a(追加写)的方式打开文件 6 文件关闭 close file.close() 文件打开后必须要关闭,否则占用内存 6 文件打开后自动关闭 with open with open(‘test05.txt’,‘w’,encoding=‘utf-8’) 不要再写close语句,常用