pip的使用
pip管理Python包
pip install<包名>安装指定的包
pip uninstall<包名>删除指定的包
pip list 显示已经安装的包
pip freeze 显示已经安装的包,并以指定格式显示
修改pip下载源
格式:
pip install 包名 -i 国内源地址实例 :
pip install ipython -i https://pypi.mirrors.ustc.edu.cn/simple/创建Python描述配置文件
代码如下:
# _*_ coding : utf-8 _*_
# @Time : ${DATE} ${TIME}
# @Author : 牛天润
# @File : ${NAME}
# Project : ${PROJECT_NAME}
python注释
Python注释分为单行注释
#,和多行注释'''三个单引号查看变量类型
我们想要查看变量类型用
type()进行查看a = 1
print(type(a))
字典
dira = {'name':'zhangsan', 'age':'19'}
print(type(a))
元组
tuplea = (1,2,3,4,5,6,7,8,9)
print(type(a))
集合
seta = {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(type(a))
列表
lista = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(type(a))
注意:使用
True和False时首字母要大写算数运算符
加法:
a+b,减法:a-b,乘法:a*b,除法:a/b,整除a//b,取模:a%b,取幂运算:a**ba的b次幂多变量赋值
a,b,c=1,2,3
逻辑运算符
print(a>b and b>c)
print(a>b or b>c)
print(a>b not c)
案例:
a=36
a>=10 and print('hello word') #回执行
a<10 and print('hello word') #不会执行
格式化输出
age=18
name='小明'
print('大家好,我的名字是%s,今年%d' %(name,age))
格式化输入
password = input('请输入您的密码:')
条件判断
if a>b:
print('a>b')
elif a==b:
print('a==b')
else:
print('a<b')
循环遍历
s='china'
for i in s:
print(i)
打印0~5四个数字
a=range(5)
for i in a:
print(i)
打印1~4
a=range(1,5)
for i in a:
print(i)
打印不换行
for letter in letters.keys():
for i in range(letters[letter]):
print(letter,end='')
range用法
range(1,5,2) #起始值,结束值,步长
打印列表长度
list1=[1,2,3,4,5,6,7,8]
print(len(list1))
这里的输出结果是:8
字符串的高级类型
- 获取长度(返回字符串的长度):len
- 查找内容(返回目标字符串第一次出现的下标,不存在则返回-1):find
- 判断(判断字符串是不是以谁谁开头/结尾):startswith,endswith
- 计算出现次数:count
- 替换内容:replace
- 切割字符串:split
- 修改大小写(将字符串中的大小写互换):upper,lowwer
- 空格处理(去掉空格):strip
- 字符串拼接:join
这里要注意一下字符串拼接join的用法
s1 = 'china'
print(s1.join('hello'))
#hchinaechinalchinalchinao注意这里就是在字符与字符之间加
列表的操作
列表的添加
- append:在末尾添加元素
- insert:在指定位置添加元素
- extend:合并两个列表
for_list = ['a','b']
for_list.append('c')
执行结果:['a', 'b', 'c']
insert
使用方法:
char_insert =['a','b','c']
char_insert.insert(0,'d')
print(char_insert)
执行结果:['d', 'a', 'b', 'c']
extend
使用方法:
#extend
list_insert = ['a','b','c']
list_insert1 = ['d','e','f']
list_insert1.extend(list_insert)
print(list_insert1)
执行结果:['d', 'e', 'f', 'a', 'b', 'c']
如果我们想要判断一个数据是否在一个数组中,我们可以用if x in list的方式:
x = input()
print(x)
if x in list_insert1:
print(list_insert1.index(x))
else:
print(list_insert1)
当然我们也可以用not in的方式判断一个数据是否不在列表中
列表的删除
del删除
a=[1,2,3,4,5,6,7,8]
del a[1]
print(a)
执行结果:[1, 3, 4, 5, 6, 7, 8]
我们把列表中的第二个元素2删除掉了
pop删除
pop的作用是删除掉列表中的最后个一个元素
a=[1,2,3,4,5,6,7,8]
a.pop()
print(a)
执行结果:[1, 2, 3, 4, 5, 6, 7]
remove删除
remove删除时根据元素的值进行删除
a=[1,2,3,4,5,6,7,8]
a.remove(3)
print(a)
执行结果:[1, 2, 4, 5, 6, 7, 8]
元组的操作
我们知道元组是由
()组成,而列表式由[]组成的,那么它们之间有什么区别呢?元组和列表最大的不同就是元组的值不可以修改,而列表的值可以修改。
注意我们在定义只有一个元素的元组时,要在唯一的元素后面写一个逗号
a = (11,)
#类型是一个元组
b = (11)
#类型是int
切片操作
切片是指对操作对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法:[起始:结束:步长],也可以简化为[起始:结束]
注意:切片操作是左闭右开,不包括右端点
s = 'Hello World'
print(s[0:4])
#执行结果:Hell
print(s[1:])
#从下标1开始取出1以及后面的所有元素
#执行结果:ello World
print(s[:4])
#从头开始到下标4,不包括4
#执行结果:Hell
print(s[0:6:2])
#步长为2
#结果为:Hlo
字典的操作
字典查询
person = {'name':'John','age':12}
print(person['name'])
#执行结果:John
print(person.get('age'))
#执行结果:12
字典的修改
person['name'] = 'Alen'
字典的添加
和字典的修改相同,如果字典不存在该键值对,则会自动添加
person['gender'] = 'man'
字典的删除
- del用法:删除字典中指定的某一个元素或者删除整个字典对象
- clear用法:清空字典,但是保留字典对象
#删除字典中的某一个元素
del person['age']
#删除字典对象
del person
#清空字典中的内容,保留字典对象
person.clear()
字典的遍历
字典的遍历可以分为遍历字典的key,value,key和value,字典的项或元素
#遍历字典的key
for key in person.keys():
print(key)
#遍历字典的key和value
for key in person.keys():
print(key,person[key])
#遍历key和value
for key in person.items():
print(key)
#遍历的结果带()
函数
def f1():
print('hello')
f1()
什么是函数的实参和形参
test(1,2) #实参调用
test(b=1,a=2)#形参调用
文件
文件的打开和关闭
在python中,使用open函数可以打开一个已经存在的文件,或者创建一个新的文件
例如:open(文件路径,访问模式)
实例如下:
f = open('test.txt','w')如果我们想要在这个文件中写内容,我们应该怎么做呢?
fp = open('test.txt','w')
fp.write('hello')
我们创建了一个test.txt的文件,并且在文件中写入hello的内容
关闭一个文件
f = open('test.txt','w')
f.close()
文件的读写操作
使用write的方法进行数据的写入操作
fp = open('test.txt','w')
fp.write('hello' * 5)
fp.close()
将这个字符串写五遍,并且报存在test.txt文件中。但是这样做存在一个问题,就是我们如果想要换行,我们应该怎么做
fp.write('hello\n' * 5)
可以加一个\n
这种方式存在问题,就是会先清空原来的数据,然后在写。如果我们想要在元素中追加数据,应该怎么做呢?
其实,我们可以将w的方式改成a,这样我们就实现了数据的追加操作
fp = open('test.txt','a')
fp.write('hello' * 5)
fp.close()
如果我们想要在文件中读取数据,我们应该怎么做呢?
fp = open('test.txt','r')
print(fp.read())
这样的话,我们就将test.txt中的内容读取到我们的控制台中了。
在默认情况下,read是一个字节一个字节的读取,效率比较低。
fp = open('test.txt','r')
print(fp.readline())
使用readline的方式进行读取数据,这样的话,我们就可以提升数据的读写效率
这样读取数据只能读取一行的数据,如果数据不止一行,那么我们可以使用readlines进行多行数据的读取操作。
fp = open('test.txt','r')
print(fp.readlines())
注意:返回值是列表类型,而列表中的数据是一行一行的数据
文件的序列化和反序列化
首先我们要知道什么是文件的序列号和反序列化?