python概念速通

10 min read

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))
字典dir
a = {'name':'zhangsan', 'age':'19'}
print(type(a))
元组tuple
a = (1,2,3,4,5,6,7,8,9)
print(type(a))
集合set
a = {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(type(a))
列表list
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(type(a))
注意:使用TrueFalse时首字母要大写

算数运算符

加法: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())
注意:返回值是列表类型,而列表中的数据是一行一行的数据

文件的序列化和反序列化

首先我们要知道什么是文件的序列号和反序列化?

评论

python概念速通 | Niutr's Blog | Niutr's Blog