PYthon笔记

PYthon笔记

六月 04, 2022

print函数

print函数可以输出含有运算符的表达式

也可以将内容输出到目的地(显示器、文件)如:

``

1
2
3
fp = open('D:/text.txt', 'a+')(如果文件不存在就创建,存在就继续写。指定路径)
print('helloworld', file = fp)(写入)
fp.close()(关闭文件)

转义字符

\n:newline(换行)

\t:回车(占四个制表位)如:hello\t:后面有三个空格,因为hell是四个,\t本来是四个,加上o就有三个了

\b往后退一个格,比如hello\bworld>>>hellworld

\r对前面进行覆盖:比如hello\rworld>>>world

\\:运行的时候只会输出一个\

原字符:不希望字符串中的转义字符起作用,就使用原字符,在字符串之前加上r

print(r'hello\nworld')

最后一个字符串不能是反斜杠,但可以是两个:print('helloworld\\')

数据类型

整数类型:默认的是十进制;0b开头是二进制;0o开头是八进制;0x开头是十六进制

print(0b10010)

浮点类型:由于计算机使用二进制进行计算,所以结果可能出现小数位数不确定的情况

``

1
2
3
n1 = 1.1
n2 = 2.2
print(n1+n2)(结果为3.3000000000000003)

那么解决的方案就是导入模块decimal(from decimal impory Decimal)

数据类型转换

print(name + age)(其中,str类型不能和int型一起输出,要将int通过str函数转换为str型)

print(name + str(age))

str()函数:将其他类型转换为str类型

int()函数:文字类和小数类字符串无法转换,浮点数转化成整数抹零取整

float()函数:文字类无法转成整数,整数转化为浮点数,末尾为 .0

输入函数input

input()函数的输出类型是整数,故我们如有需求需要用到类型转换函数如:int(),float()

算数运算符

//:整除运算,11 // 2 = 5 而不是 5.5

(一正一负的整除运算,向下取整如:-5 // 3 = -2

%:取余运算符,5%3 = 2

(一正一负运算:9% -4 余数 = 被除数 - 除数*商 9 - -4 * -3 = -3

*:幂运算符,2 * * 2 = 4

range函数

range(start):默认从[0-start),步长为1

range(start,stop):从[start,stop],步长为1

range(start,stop,step):从[start,stop],步长为step

range通常会作为循环遍历的对象

for_in循环

for item in 'Python'(第一次取出来P,将P赋值给item,将item的值输出)

如果不需要用到自定义变量(上式中item就是自定义变量),可以用“_”代替,如:

for _ in range(5):接下来的表达式会重复五次

continue

结束循环,进行下一次循环

经常跟if联用

列表

创建的方式①使用[]:

1
2
a = ['hello','world',12]
print(a)

②使用内置函数list()

1
b = list(['hell','god'])

image-20220621120536390

可以通过索引去打印列表中的数据,如

image-20220621120755277

列表的判断和遍历

用来判断是否存在,如

1
2
3
print('a' in 'abc') #结果为true
print('a' not in 'abc')#结果为false

列表的遍历:

1
2
3
b = ['a','b','c']
for a in b:
print(a)

列表的添加

append():在末尾添加一个元素

extend():在末尾至少添加一个元素

insert(位置,元素):在任意位置添加一个元素

切片:

1
2
3
4
a = ['a','b','c']
b = ['d','e','f']
a[1:] = b
print(a)#结果为['a', 'd', 'e', 'f']

列表的添加

remove():一次删除一个;重复元素只删除第一个;元素不存在输出value error

pop():删除一个指定位置上的元素;指定位置不存在元素,输出index error;如果不指定位置,删除最后一个

切片:一次至少删除一个

1
2
3
a = ['a','b','c','d','e','f']
a =a[1:3]
prnit(a)#切片是前开后闭区间,结果为:['b', 'c'],也就是1-2留下来

clear():清空列表

del:删除列表

列表元素的修改

直接

1
a [1] = 新元素

或者切片

1
2
3
a = ['a','b','c','d']
a[1:2] = ['e','f','g']
print(a)#结果为['a', 'e', 'f', 'g', 'c', 'd'],也就是把1换走

列表的排序

sort():升序排列

通过关键字降序排列

sort(reverse = True)

那么reverse = False 就是升序

使用内置函数sorted(),使产生新的列表对象

也可以在sorted函数里使用关键字

1
b = sorted(a,reverse = False)

生成列表的公式

1
2
3
a = [表达式 for 自定义变量 in range()]#表达式的变量使用自定义变量:如
a = [b * b for b in range(1,9)]
print(a)#结果为[1, 4, 9, 16, 25, 36, 49, 64]

字典

字典是Python内置的数据结构之一,与列表一样是一个可变序列,以键值对的方式存数据,字典是一个无序的序列,如:

image-20220702204735879

字典的实现原理

与查字典类似,我们用key值(也就是键)去寻找值的位置

字典的创建

常用:

1
scores={''a:1,'b':2,'c'=3}

使用内置函数dict()

1
dict(name = 'a','age' = 18)

还有空字典

1
d = {}

字典的常用操作

获取字典中的值:

第一种:使用 []

1
print(scores['a'])

第二种:使用get方法

1
print(scores.get('a'))

第一种:如果key是错误的,那么会报错:key error;第二种输出None

1
print(scores.get('g',123))

这个g是找不到的,但是会输出123;找不到就会输出设定的默认值

key的判断

1
2
print('a' in scores)
print('a' not in scores)

字典元素的删除

1
2
del scores['a']#删除指定的key和value对
scores.clear()#清空

字典元素的新增

1
scores['g']=123#也可以用这个方法修改

获取字典视图

1
2
3
4
5
6
keys()#获取字典中所有的key
values()#获取字典中所有的value
items()#获取字典中所有key和value
输出如:
keys = scores.keys()
print(keys)

字典元素的遍历

1
2
for item in scores:
print(item,scores[item],scores.get(item))

字典的特点

①字典中的元素都是一个key和value对,key不允许重复,value可以重复

②字典中的元素是无序的

③字典中的key必须是不可变动对象

④字典也可以根据需要动态的伸缩(不需要分配多大的空间)

⑤字典会浪费较大的内存,是一种使用空间换时间的数据结构

字典生成式

使用内置函数zip()

用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表

1
2
3
4
key = ['a','b','c']
value = [1,2,3]#值多值少,只会跟元素少的组成字典
v1 = {key:value for key,value in zip(key,value)}
print(v1)