fp = open('D:/text.txt','a+')
#a+如果文件不存在则创建,存在就在文件后面继续追加
print('hello', file = fp) #使用 #,可以换行
fp.close
转义字符
\n 换行
\r 回车#后面把前面覆盖
\t 水平制表符
\b 退格#退一个,把前一个退没
数据类型
int中的不同进制
二进制0b开头
八进制0o开头
十六进制0x开头
浮点类型进行计算时,可能出现小数位数不确定的情况,解决办法:导入模块decimal
from decimal import Decimal
print (Decimal('1.1'+Decimal('2.2')) #3.3
字符串类型
不可变序列,可用 ' '' ''' 来定义
其中 ''' 可以分布在连续多行
使用 + 可以来凝结字符串,str与int类型连接时会报错
类型转换
str()也可以用引号
str转为int时,必须是整数才行,字母和小数不行
注释
#单行
''' ....... ''' 或""".........""" 注释多行
中文编码声明注释->文件开业加上用以制定源码文件的编码格式
# coding:gbk ubf-8
输入函数 input
name = input('想要什么')#输入回答
运算符
+ - * /
// #整除 % #取余 ** #求幂
一正一负时,整除向下取整
% 一正一负时要看公式
余数=被除数-除数*商
赋值运算符
= 从右向左执行
支持 a=b=c=d=20的形式
支持 +=、-=等
支持 a,c,b = 20,22,66
交换两数可以直接 a,b = b,a
比较
使用 == 判断的是value
使用 is 判断的是id
布尔运算符
and or not
in not in 有没有
&位与 |位或 << >> 左移右移
优先级
一切皆对象,都有布尔值
使用bool()可知其布尔值
if
if 表达式:
执行体 #python中要注意缩进
------------------------------------------------
if 表达式:
执行体1
else :
执行体2
-------------------------------------------------
if 表达式1:
执行体1
elif 表达式2:
执行体2
elif 表达式n:
执行体n
[else:] #else可有可无
执行体n+1
python支持 if 90<=score<=100:
if ....... else 简写
print (str(num_a。。。。。) if 条件 else str。。。。。。。。)
pass 占位置
range()
range(stop) [0,stop)整数序列,步长为1
range(start,stop) [start,stop)
range(start,stop,step)
in和not in可以判断在不在
用list可以查看range中的序列
while 循环
while 表达式:
执行体
for。。。in。。。循环
for 变量 in 可迭代对象:
循环体
不需要访问变量可用下划线代替
break 与continue
分别结束循环与结束当前循环
输出 手动设置end='。。。。。。',若不设置则默认为\n
列表
列表的创建
使用中括号 [ ],元素之间使用逗号隔开
调用内置函数list()
lst2 = list(['hello',98])
列表中数据可重复
任意类型混存
动态分配和回收内存
获取指定元素的索引
如有相同元素,只返回其中第一个的索引
index() 如果所查元素不存在,则抛出ValueError
还可在指定的start和stop间查找
print(lst.index('hello'))
print(lst.index('hello',1,4))
切片操作
格式:[start:stop:step]
切片的结果时原列表的拷贝
查询 in not in
增加操作
.append() 末尾加一个元素
.extend() 末尾至少加一个
.insert() 任意位置加一个
.切片 任意位置至少加一个
append 列表也可作为一个元素加到最后
如果是 extend 则是列表中的元素分别加进去
lst.insert(1,90) 把90插到索引为1的位置,原处的靠后
切片 lst3=[ ]
lst[1:]=lst3
lst的1到末尾换成lst3的元素
删除操作
remove() 删一个,重复的删第一个,不存在则抛出ValueError
pop() 删一个指定索引上的,不指定则删最后一个,不存在则抛出ValueError
切片 一次至少一个
clear() 清空列表
del 删除列表
lst.remove(~)
删 lst[1:3] = [ ] 不产生新对象
del lst
排序操作
sort() 默认升序
可指定 reverse = True 降序
调内置函数sorted(),可指定reverse = True,原列表不发生改变
lst.sort(re...)
... = sorted(..)
列表生成式
[ i*i for i in range(1,10)]
列表元素表达式 自定义变量 可迭代对象
字典 {}
可变序列、无序序列 以键值对方式存储
创建
使用花括号{}
内置函数dict()
dict(name='ndsad',age=20)
字典中元素的获取 scores['张阿三']
或scores.get('张三')
[ ]如果字典中不存在指定的key,抛出keyerror
get()方法会返回none,可设置默认value
print(....get(...., 0))
in not in 判断
del scores['张三']删除元素
scores['bane'] = 92 新增
.clear 清空
可修改
keys() 获取所有key
获取字典视图 value()
items() 获取所有key,value对
values = sd.values()
遍历 scores = {。。。。}
for item in scores:
print(item,scores(item))
scores.get(item)
key不可重复,value可以
元素无序
key必须是不可变对象
可动态伸缩
以空间换时间
生成式
元组
不可变序列:字符串、元组
可变序列:列表、字典
t = (。。。。。。。)
元素对象之间以逗号相隔,用小括号括起来
创建方式
t = ()直接用小括号,也可不写小括号
内置函数tuple()
t = tuple((。。。。))
只包含一个元素的要用逗号和小括号
t = (10,)
空元组 t = ()
t = tuple()
元组中的列表可以增删,但其本身不可以
元组遍历可用索引t[0]
集合
可变序列,是没有value的字典
创建方式
直接{}
使用内置函数set()
集合中的元素不可重复
判断使用in not in
元素新增--------调用add()一次一个元素
调用update()至少一个
删除操作--------remove()方法,一次一个指定元素,不存在则抛keyerror
discard()方法,一次一个指定元素,不存在不抛异常
pop()方法,一次删除一个任意元素
clear()方法,清空集合
交集操作--------&
intersection()方法
并集操作---------|
union()方法
差集操作--------- -
difference()方法
对称差集操作---------^
symmetric_difference()方法
字符串操作
拼接和修改字符串比较影响性能
拼接字符串时建议使用str类型的join方法,而非+