Python基础知识笔记(一)
python是解释型语言,面向对象,弱类型,跨平台,服务器语言,安装python3(解释器+lib类库+pip命令)
pip-包管理器
pip管理的包放在site-packages文件夹 pip install xxx / pip uninstall xxx
pip指定安装版本:pip install xxx==版本号
将所有的pip输出到一个文件:pip freeze>requirements.txt
将requirements.txt文件中的包进行安装:pip install -r requirements.txt
使用python:
1.交互式(命令提示符:python进入环境,exit()退出环境)执行麻烦,不推荐
2.开发工具(PyCharm, VsCode)
python3支持UTF-8字符集,因此python3的标识符可以使用UTF-8所能表示的多种语言的字符,可以包含中文字符、日文字符等。
python2.x对中文的支持较差,如果要在python2.x中使用中文字符或者中文变量,则需要在python
源程序的第一行添加“#coding:utf-8",将源文件保存为UTF-8字符集。
一、变量命名规则:
标识符:
1.由字母、数字、_构成,不能以数字开头
2.严格区分大小写
3.不能用关键字
查询关键字:import keyword
print(keyword.kwlist)
建议:
1.驼峰式
2.下划线式
help-帮助 Function-函数 Built-in(builtins)-内置 module-模块 Value-值 Stream-流
Defaut-默认
二、print()内置函数的使用:
1.print(‘Hello World’)
2.print(变量名)
3.print(变量名1 , 变量名2,…)
4.print(‘中文字符’ , 变量名)
5.默认换行,或者指定分隔符,例如:sep = ‘#’,print(‘Hello World’ ,sep =
‘#’),sep默认的分割是空格
6.print(‘Hello World’ , end=‘’) 不换行
7.默认print:print(变量名1 , 变量名2 ,sep = ’ ’ ,end = ‘\n’ )
或者在命令提示符中输入help(print)了解
转义字符:\n–换行 print(‘hello\nkitty’)
\t–制表符(Tab)
\r–回车 光标回到行首,覆盖之前的内容
\\–斜杠\
\'–单引号
\‘’–双引号
print(r’hello\py\thon’) r–原样输出内容,即使有转义字符也不实现转义
常量:python中没有专门声明常量的字符,声明常量时,名字大写
三、字符串:
表示:
1.‘ ‘
2. ‘’ ‘’
3. ‘’’ ‘’’ --(1)保留格式的字符串使用 (2)多行注释
"+"只能拼接字符串和字符串
格式化输出:
1.使用占位符
%s–字符串 %d–数字 %f-- 浮点型(%.2f-保留小数点后两位,四舍五入)
str()–内置函数,将其他类型强制转化为字符型
例:print(‘姓名:%s, 学号:%s’ %(name, no))
2.使用format
format是字符串中的一个函数 – 'xxx{}xxx '.format(变量),用{}占位
例:name = ‘zhang’
age = 21
message = ‘我叫{}, 今年{}岁了’.format(name, age)
print(message)
input–标准输入流,输入的都是默认字符串类型
input的使用: 例:name = input(‘请输入姓名:’)
print(name)
四、运算符:
1.赋值运算符 = 扩展:+=、-=、*=、/= id()函数:返回变量内存地址
2.算数运算符 +、-、*、/ 扩展:++、–、**(幂)、//(整除)、%(取余)
3.关系运算符 ==、!=、>=、<=、>、<
4.逻辑运算符 and、or、not
5.位运算符
&(按位与运算符)、|(按位或运算符)、^(按位异或运算符)、~(按位取反运算符)、<<(左移运算符)、>>(右移运算符)
6.成员运算符 in(在指定序列中找到值返回True,否则返回False)、not in
7.身份运算符 is(对象的比较,内存地址)、is not
三目运算符: 格式:内容1 if 表达式 else
内容2—如果表达式为真,则执行内容1,若表达式为假,则执行内容2
五、条件判断语句:
判断语句:
1.if语句
2.if-else语句
3.elif语句
循环语句:
1.for循环 格式: for 变量名 in 集合: ----range(a,b) :包含a,不包含b
range(start,end,step)
2.while循环 格式:while 判断条件: 条件成立,进入循环执行语句
3.for i in 范围: for–else结构:for循环执行完或者没有循环数据时,进入else执行
有数据执行的语句
else:
没有数据执行的语句
4.pass关键字:空语句,不报错,站位,方便稍后填补内容
5.break关键字:强制退出循环
6.嵌套循环
7.continue:跳过下方代码,进入下一次循环
六、字符串操作:
1.字符串运算符:+(拼接符)、*(倍数)、in(可以多个字母)、not
in、%(字符串格式化)、r(保留原格式,即使有转义字符也不发生转义)、
[ ](结合位置,获取指定位置的一个字母 )、[start
:end](切片功能,截取取索引下标为start到end的字母串,包前不包后,start和end可以省略,可以用负数(逆向))
[ : : -1](倒叙)
三引号占用的内存空间与单双引号的不同(前提:三引号里的内容不在同一行)
2.字符串内置方法—大小写:
(1)字符串的内建函数:声明一个字符串,默认可以调用内建函数(系统准备好的一些函数)
① 大小写相关的
capitalize():将字符串的第一个字母大写
title():将字符串的所有单词首字母转为大写
istitle():返回结果为True或者False,判断字符串的所有单词首字母是否为大写
upper():将字符串单词的每个字母大写
lower():将字符串所有单词小写
② 查找相关,替换
find(‘要查找的字符’, start,
end):查找字母在字符串中的位置,找到则返回字母第一次出现的位置,如果没有找到则返回-1
rfind():从所给字符串右侧开始查找
lfind():从所给字符串左侧开始查找
index():与find()一样,如果没有找到就会报异常
lindex():
replace(str1, str2,
max):将字符串中的str1替换成str2,如果max指定,则替换不超过max次
3.字符串内置方法—编码和判断开头结尾
编解码:网络应用(中文一般会涉及编码问题)
encode(encoding, errors) :
编码,以encoding指定的编码格式编码字符串,默认为’UTF-8’,如果出错默认报一个ValueError的异常,除非errors指定的是’ignore’或者’replace’
decode() : 解码,编码逆过程
判断开始和结尾:
startswith(): 判断是否是以xxx开头的
endswith(): 判断是否是以xxx结尾的 返回值为布尔值
4.字符串内置方法—判断是否是数字
isalpha():
判断是否是字母,如果字符串至少有一个字符并且所有的字符都是字母则返回True,否则返回False
isdigit(): 判断是否是数字,如果字符串只包含数字则返回True,否则返回False
5.字符串内置方法—合并拆分
join(seq):以指定字符作为分隔符,将seq中的所有元素(的字符串表示)合并为一个新的字符串
lstrip():截掉字符串左边的空格或指定字符
rstrip():截掉字符串右边的空格或指定字符
strip():同时截掉字符串左边和右边的空格或者指定字符
split():分割字符串,将分割后的字符串保存至列表中
七、列表List:类似其他语言的数组
1.声明:例如:names = [‘jack’, ‘tom’, lucy’]
2.声明空列表系统也会分配内存
3.元素获取使用:下标,索引
4.结合循环:for name in names:
**5.列表元素更新/修改:**使用下标找到需要修改的元素,然后赋值,新值就会覆盖旧值,例如:names[0]
= ‘zhang’
6.列表元素删除:通过下标找到删除的元素进行删除,例如:del names[0] while循环
(1)del list[index]
(2)remove(obj) : 删除指定的元素,如果不存在则抛出异常
(3)pop() : 弹栈
(4)clear() : 清空元素
7.列表元素添加:
列表函数的使用:
(1)append():在列表末尾追加一个元素
(2)extend():如果extend()中的内容为字符串,则将字符串拆成一个个字符添加进列表中;如果extend()中的内容为列表,
则将这个列表中的元素加入对象列表末尾,类似与列表的合并
(3)+:也可用于列表的合并
(4)insert(index, 元素):指定位置插入元素
**8.列表排序:**sorted():默认升序排列 sorted列表, reverse=True):降序排列
**9.列表切片操作:**与字符串切片操作类似,但是列表切片将截取的结果再次保存在一个列表中
10.列表系统函数总结:
(1)len()—>int
(2)sorted()—>排序
(3)max() 最大值 min() 最小值
(4)list() 强制转换成列表类型
(5)enumerate() 枚举 – index value
11.其他函数:
(1)count() :指定元素的个数
(2)sort() :排序
(3)reverse() :翻转 例: [4,6,8,9,0]—>[0,9,8,6,4]
八、元组tuple:类似列表(当成容器使用)
特点:
(1)定义的符号:()
(2)元组中的内容不可修改,可以通过列表转换成元组类型,例如:t = tuple(list)
可用del t删除整个元组,用t1 + t2连接两个元组
(3)关键字:tuple
(4)列表与元组对比:列表 元组
[ ] ( )
[1] (1,)
[1,2] (1,2)
(5)元组查询:
(1)下标index
(2)切片[ : ]
(6)系统函数:
最大值:max()
最小值:min()
求和:sum()
求长度:len()
sorted() :排序,返回的结果时列表
tuple():元组类型强制转换
(7)元组内置函数:
index(obj):从元组中找出指定元素的下标,没有该元素则报错
count(obj):元组中指定元素的个数
(8)拆装包:将元组中的元素取出,例如:t = (2, 5, 1) a, b, c = t print(a, b, c)
结果为2 5 1
变量个数与元组元素个数不一致时报错
九、字典dict:
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值
key=>value 对(键值对)用冒号 :
分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中。
键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字。
1.定义:
空字典:两种方式:(1)dict1 = { }
(2)dict2 = dict( )
实例:dict = {‘name’: ‘runoob’, ‘likes’: 123, ‘url’: ‘www.runoob.com’}
dict = {[(‘name’,‘zhang’), (‘age’,20)]}
list列表可以转为字典,前提:列表中的元素要成对出现
字典不支持‘+’连接两个字典
2.字典添加元素(包含修改):格式:dict[key] = value 有则覆盖,无则添加
例如:dict = {‘name’:‘zhangjian’, ‘ID’:‘63170706030’, ‘profession’:‘物联网工程’}
dict[‘class’] = ‘物联1701班’
结果:{‘ID’: ‘63170706030’, ‘class’: ‘物联1701班’, ‘profession’: ‘物联网工程’,
‘name’: ‘zhangjian’}
3.字典元素查询:格式:del dict[key]
4.字典元素删除:删除指定key值对应的value值。格式:del dict[key]
删除字典:del dict
三种删除的内置函数
5.单独遍历字典:取到的是字典的key值
6.字典中的内置函数:
(1)items():将字典的键值对转换成列表保存形式。例:print(dict.items())
结果:dict_items([(‘ID’, ‘631707060330’), (‘name’, ‘zhangjian’), (‘profession’,
‘物联网工程’)]),
用于字典的遍历,key值和value值都可以取到
(2)values():取出字典中所有的value值保存到列表中
(3)keys():取出字典中的所有的key值保存到列表中
(4)get(key):根据key值获取对应的value值,如果取不到值不会报错,返回None
get(key,default):如果能取到值则返回字典中的值,如果取不到则返回default的值
(5)pop(key[, default]):删除字典给定键 key
所对应的值,返回值为被删除的value值。key值必须给出。 否则,返回default值。
(6)popitem():随机返回并删除字典中的最后一对键和值。
(7)update(dict1):把字典dict1的键/值对更新到dict里(dict.update(dict1)),不支持+(合并)
(8)clear():删除字典中所有元素
(9)copy():返回一个字典的浅复制
(10)fromkeys(seq,default):创建一个新字典,以序列seq中元素做字典的键,如果指定default值,则default为字典所有键对应的初始值,如果没有指定默认value值,则用None
10、集合set:
集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set()
函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { }
是用来创建一个空字典。
将一个列表快速去重可用set()
1.格式:parame = {value01,value02,…}或者set(value)
2.增加集合元素:
(1)add(x):将x添加到集合中,如果已存在,则不做任何操作
(2)update(x):参数可以是列表、元组、字典等
3.删除集合元素:
(1)remove(x):将元素 x 从集合中移除,如果元素不存在,则会发生错误
(2)discard(x):移除集合中的元素,且如果元素不存在,不会发生错误
(3)pop():设置随机删除集合中的一个元素,set 集合的 pop
方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除
(4)clear():清空集合元素
4.其他符号操作:
只支持:in、not in、==、-、|、&、^
5.集合内置函数:
(1)difference(): 返回多个集合的差集,相当于’ - ',找出多个集合中不同的元素 s1
= s1.difference(s2)相当于s1.difference_update(s2), 下列类似
difference_update():移除集合中的元素,该元素在指定的集合也存在
(2)intersection():返回集合的交集,相当于’ & ',找出集合中相同的元素
intersection_update():交集并赋值
(3)union():返回两个集合的并集,相当于’ | ’
(4)copy():拷贝一个集合
(5)symmetric_difference():对称差集,返回两个集合中不重复的元素集合。相当于’
^ ’
(6)symmetric_difference_update():对称差集并赋值,移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
(7)isdisjoint():判断两个集合是否包含相同的元素,如果没有返回 True,否则返回
False。
(8)issubset():判断指定集合是否为该方法参数集合的子集。
(9)issuperset():判断该方法的参数集合是否为指定集合的子集
6.可变和不可变类型:
(1)不可变:对象所指向的内存中的值不可以改变
不可变类型:int string float 元组tuple
(2)可变:对象所指向的内存中的值可以改变
可变类型:列表list、字典dict
7.类型转换:str( ) int( ) dict( ) list( ) set( ) tuple( )
本文介绍了Python的基础知识,包括变量命名规则、print()函数、字符串操作、运算符、条件判断、列表、元组、字典和集合的使用。讲解了如何在Python中进行数据处理和基本编程结构。

被折叠的 条评论
为什么被折叠?



