Python相关学习记录
一、python介绍
1、python是一门编程语言
2、pyton是一个面向对象,解释性的动态类型的语言,guido van rossunm (吉多范罗姆),在1989年发明,第一个公开发行的版本1991年;
guido van rossunm (吉多范罗姆 )是荷兰 计算机程序员
a、面向对象:python中一切皆为对象,对事物的描述和方法系统的定义为一个类,在这个类中的具体的实例,我们就说对象。
例如:人 类==mlj 具体的对象
b、解释性:
python执行时无序先进行二进制代码,在编译;直接在执行的过程中对语句进行编译。
例如:java语言,安装jdk编译,python不需要,直接编译
c、动态类型:
python在运行时可以改变其结构,新的函数可以被引进,已有函数可以被删除
3、python是一个"胶水语言"
4、python 有哪些特点?
a、简单
b、易学
c、免费开源
d、可拓展性强
e、可移植性强
f、具有丰富的第三方类和库
5、python应用在哪些领域?
网页开发、ai人工只能、大数据、网络爬虫、数据分析、自动化脚本开发、可视化界面开发、云计算等
6、python的版本
a、python 2.0 版本
b、python目前3.0的版本,
c、最新版本3.14
7、python的打印方式
print ()
8、python实际应用
豆瓣、知乎
9、python使用人员
a、python开发人员
b、测试人员
c、运维
Python的变量命名规则
1、变量由字母,数字,下划线组成,但必须是字母或下划线开头,区分大小写,不能由数字开头
2、下划线和大写字母开头的标识符有特殊意义:a.单下划线开头标识符_xxx 不能用于from xxx import ,即保护类型只能允许其本身与子类进行访问b.__xxx 双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了,连子类也不可以c.大写字母开头的在Python中一般表示类比如:People
1)算术运算符
+加号、-减号、乘号、%取模、/除、幂等、 //取整
a=5
b=3
print(a+b) #8 加
print(a-b) #2 减
print(a*b) #15 乘
print(a/b)# 1.66666667 除
print(a//b) # 取整 1 除法中的商
print(a%b) #取模 2 除法中的余数
print(ab) #幂等 5的三次方 555
(2)赋值运算符
一个等于号是赋值,两个等于号叫等于
a=5
b=3
a+=b #a=a+b
print(a) #8
print(b) #3
3)比较预算符(返回的结果:布尔值 ture、符;fa1sh)
.<.=.>=,<=,!= 不等于
a=5
b=3
c=1
d=5
print(a==b) #False 等于号
print(ad) #True
print(a!=b) #True !=不等于
print(a!=d) #False
print(a>b) #True 大于
print(b>a) #False
print(b<d) #True 小于
print(b<c) #False
print(a>=b) #大于等于 #True
print(c<=b) #小于等于 #True
(4)逻辑运算符
and 同时满足多个条件
or 只要满足其中一个条件或多个条件都可以
not 非
a=5
b=3
c=1
d=5
print( a>b and b>c) #True and 全部条件满足
print( a>b and b>d) #False
print( a>b or b>d) #True 满足其中一个条件
print( b>a or b>d) #False
print(not(a>b)) #False 非
print(not(b>a)) #True
(5)成员运算符
in 匹配
not in 不匹配
list1= [1,2,3,4,5,6,8,9,10]
print(5 in list1) #True
print(7 in list1) #False
print(5 not in list1) #False
print(7 not in list1) #True
位运算符
5:4+1 0000 0101
3:2+1 0000 0011
9:8+1 0000 1001
13:8+4+1 0000 1101
a=5
b=3
5:4+1 0000 0101
3:2+1 0000 0011
9:8+1 0000 1001
13:8+4+1 0000 1101
print(a&b) #1
5:4+1 0000 0101
3:2+1 0000 0011
0000 0001 2的0次方 1
规则:两两为真取,一真一假不取,一假一真不取,两两为假不取
print(a|b) #7
5:4+1 0000 0101
3:2+1 0000 0011
0000 0111 2的0次方1+2的1次方2+2的2次方4=7
规则:一真一假取,一假一真取,两两为真取,两两为假不取
print(a^b) #6
5:4+1 0000 0101
3:2+1 0000 0011
0000 0110 2的1次方2+2的2次方4=6
规则:一假一真取,一真一假取,两两为真不取,两两为假不取
print(~a) #-6
公式:-(a+1) -(5+1)=-6
print(a>>b) #0
5:4+1 0000 000 0
print(a<<b) #40
5:4+1 0 010 1000 2的三次方8+2的5次方32=40
正向索引和负向索引
Python的切片
1、定义:切片是指对操作的对象截取其中一部分的操作,字符串、列表、元组都支持 切片操作。
2、切片的语法:[start_index : end_index : step] 解释说明:start_index表示起始索引 end_index表示结束索引 step表示步长,步长不能为0,且默认值为1
3、注意:切片操作是指按照步长,截取从起始索引到结束索引,但不包含结束索引 (也就是结束索引减1)的所有元素。
str1="abcdefghijk"
012345678910
print(str1[1]) #b 正向索引
print(str1[-1]) #k
print(str1[1:4]) #bcd 1开始值,包含开始值,不包含结束值
格式: 开始值,结束值
print(str1[1:8:2]) #bdfh 1开始值,8结束值,2是步骤,间隔
print(str1[1:]) #代表所有,为空 #bcdefghijk
print(str1[:5]) #abcde 开始值所有,结束值5,取到索引3
print(str1[:]) #abcdefghijk 显示所有
print(str1[::-1]) #kjihgfedcba 反转
print(str1[-9:-7]) #cd #负向索引,从 左往右取
print(str1[-7:-9:-1]) #ed #负向索引,从右往左取 -1
print(str1[-2:-9:-3]) #jgd #负向索引,从右往左取,间隔-3
Python中的字符串
字符串是Python中最常用的数据类型。我们可以使用单引号''或者双引号""来创建字 符串。str1 = 'hello duoceshi'
str2 = "hello duoceshi"
字符串常用函数:
1、 capitalize():首字符大写
str = 'abcd' print (str.capitalize())
2、 count():统计具体字符出现的次数
str = 'abcad' print (str.count('a'))
3、 join():把集合中的字符按自定义的分隔符连接在一起
str ="abcad" print ('-'.join(str))
4、 split():把字符串通过指定标识符进行分割
str ="abcad" print (str.split('b'))
5、 strip(ab):删除字符串开头和结尾有a或b的字符
str ="abcad" print (str.strip('ab'))
6、 lstrip(ab):删除字符串开头有ab序列字符
str ="abcad" print (str.lstrip('a'))
7、 rstrip(ab):删除字符串结尾有ab序列字符
str ="abcad" print (str.rstrip('d'))
8、 startswith():判断字符串是否以什么开始
str ="abcad" print (str.startswith('a')) #这里输出结果为true或false
9、 endswith():判断字符串是否以什么结束
str ="abcad" print (str.endswith('d')) #这里输出结果为true或false
10、 find()/rfind():字符串查询find()是左边开始查
11、 rfind()从右边开始查,结果 显示下标
str1 ="duoceshitest"
print(str1.find("e"))
print (str1.rfind("e"))
12、 replace():replace(substring,newstring,max)substring表示被替换的字 符串,newstring 要替换字符串,max表示替换的次数
str1 ="duoceshitest" print (str1.replace("t","a")) #把t替换成a,这全部替换
str1 ="duoceshitest" print (str1.replace("t","a",2)) #替换两个,从前往后
13、 lower():方法转换字符串中所有大写字符为小写
str='ADFASDF' print (str.lower())
14、 upper():将字符串中的所有小写字符转换为大写字母输出
str='ASDFDSsdfsdfSDFDSFSF'
print (str.upper())
15、 isdigit():判断字符串中是否全为数字
str='abcd'
print (str.isdigit())
16、 isalpha():判断字符串中是否全为字母
str='abcd'
print (str.isalpha())
17、 isalnum():判断字符串当中是否全都为数字,全为字母,或者数字字母组合 返回布尔值:True和False 如果有特殊符号就是否
str='1234aa@#$'
print (str.isalnum())
18、 istitle():判断字符串中首字母是否为大写,其他是否为小写,其他不为小写则为否
str='A1234'
print (str.istitle())
19、 isupper()/islower():is开头的就是判断一个字符串是否展示为都是大写或者都是小写
str.isupper()
str.islower()
python中的列表
定义:列表(list)是一组有序存储的数据,也是python常见的序列之一,序列 中的每个元素都分配一个索引,第一个元素索引是0,第二个元素索引是1,依此 类推。序列都可以进行的操作包括索引,切片,加,乘,检查成员
列表表达符为:[]
定义列表的两种方法:
方法一:list1 = [1,2,3,4] #直接通过[]进行定义
方法二:list2 = list('1234') #使用list()方法进行定义
列表中对应的函数
1、 索引和切片赋值
list1 = [1,88,'test','duoceshi']
list1[0] = 666 list1[2:] = list('123')
2、列表中文打印乱码解决方法
a = [1,2,3,"中国"]
print (str(a).decode('string_escape'))
decode():指定编码格式
string-escape:编码格式,能解决因为被\转义的问题
3、append函数:添加一个元素
list1 = [1,2,3,4]
list1.append('duoceshi')
print (list1)
4、extend函数:连接两个列表
list1=[1,2,3,4,5]
list2 =[6,7,8] list1.extend(list2)
print (list1)
注意:extend与append方法的相似之处在于都是将新接收到参数放置到已有列表 的后面 append方法可以接收任意数据类型的参数,并且追加到list尾部 extend方法一般和列表还有字符串进行拼接。
5、insert(index,value)函数:在指定位置插入一条数据
list1 = [1,2,3,4]
list1.insert(0,'test')
6、remove函数:移除元素
list1 = [1,2,3,4,1]
list1.remove(1),结果为:[2,3,4,1]
总结:如果列表中有多个相同的元素,会删除前面那个
7、索引删除值
list1 = [1,2,3,4]
del list1[0]#结果为[2,3,4]
8、index函数:在列表中查找元素所对应的索引值
list1 = [1,2,3,4]
print (list1.index(1))
9、sort函数:实现列表的升序排列
list1 = [1,2,3,4,1]
list1.sort()
print (list1)
10、sorted函数:实现降序排列
list1 = [1,2,3,4,1]
print (sorted(list1,reverse=True)) #reverse=False是升序排序
11、reverse函数:列表元素反转
list1 = [1,2,3,4]
list1.reverse()
12、pop函数:
list1 = [1,2,3,4]
print (list1.pop(0))
1.默认移除列表最后一个元素,并返回元素的值
2.移除指定位置的元素list1.pop(0)表示移除第一个元素
3.在列表中pop函数是唯一一个既能改变列表元素又有返回值
Python中的元组
定义:元组(tuple)是Python中常用的一种数据结构。元组由不同的元素组成, 每个元素可以存储不同类型的数据,如字符串、数字、甚至元组。元组是'写保护' 的,即元组中元素作为一个整体,创建后不能再做任何修改操作。
元组表达符为:()
元组的定义:tuple1=(1,2,3)
注意:当元组只有一个元素时,后面要加逗号,如:tuple1=(1,)
元组中常见的操作
1、 元组转换为列表
tuple1 = ('a','b','c','d')
list1=list(tuple1)
print(list1,type(list1))
2、 列表转换为元组
list1=[1,2,3,4]
tuple1=tuple(list1)
print (tuple1,type(tuple1))
3、 元组中的值是不可以直接改变的
tuple1=('a','b','c')
tuple1.insert(0,'d')
print(tuple1)
4、 元组中的值是可以间接来改变
tuple1 = ('a', 'b', 'c', 'd')
list1 = list(tuple1) #先改成列表
list1[1] = 'test' #通过列表改值
tuple1 = tuple(list1) #在转换成元组
print(tuple1)
5、 元组和列表的区别
相同:
a、都是序列类型的容器对象,可以存放任何类型的数据
b、支持切片、迭代等操作
不同:
a、list 是可变的对象,元组tuple是不可变的对象
b、tuple不可变,所以使用tuple可以使代码更安全
Python中的字典
1、定义:字典(dict)是另一种可变的容器模型,且可存储任意类型对象。字典的每个键值key:value对用冒号:分割,每个键值对之间用逗号分割,整个字典用大括号{}
2、字典同时是无序的,字典都是以键值对的形式存在,先键后值,键是唯一的值且不唯一
字典表达符{}
字典的定义方式:
方式一: dict1={'name':'duoceshi','age':18} #通过{}直接定义
方式二: dict1 = [('a',1),('b',2),('c',3)]
dict2 = dict(dict1) #通过dict()方法定义
字典中常见的函数
1、 添加一个键值对
dict1 = {"name":"xiaowang","age":"10"}
dict1['sex']=1 如果字典里已经有这个键,旧数据将会替换
print (dict1)
2、 取出键返回列表
dict1 = {"name":"xiaowang","age":"10"}
print (dict1.keys())
3、取出值返回列表
dict1 = {"name":"xiaowang","age":"10"}
print (dict1.values())
4、取出具体键的值
dict1 = {"name":"xiaowang","age":"10"}
print (dict1['name'])
5、字典添加元素setdefault()
dict1 = {'name':xiaowang,'age':18}
dict1.setdefault('sex','1')
print (dict1)
注:如果插入数据键已经在字典里,插入是不生效的,默认值为空时,插入数据为None
6、 删除字典
dict1 ={"name":"xiaowang","age":"18","sex":"1"}
del (dict1)
print(dict1)
7、 删除指定的键,连同值也删除
dict1 ={"name":"xiaowang","age":"18","sex":"1"}
del (dict1["name"])
print (dict1)
8、 字典的遍历:for...in...遍历字典
dict1 = {'name':xiaowang,'age':18}
for key in dict1:
print (key,dict1[key])
9、使用items()完成遍历
dict1= {'name':xiaowang,'age':18}
for key,value in dict1.items():
print (key,value)
10、 pop(key)函数,删除指定键并返回删除的值
dict1 ={"name":"xiaowang","age":"18","sex":"1"}
print (dict1.pop("name"))
11、 clear()清空字典所有项
dict = {'name':xiaowang,'age':18}
dict.clear() print (dict)
12、 get(key)方法,通过key获取值,当键不存在,返回None
dict = {'name':xiaowang,'age':18}
print (dict.get('name')
13、 fromkeys函数可以给具体的键指定值
dict1 = {'name':xiaowang,'age':18}
print ({}.fromkeys(['name','age'])) #不指定默认值
print ({}.fromkeys(['name','age'],'duoceshi')) #指定默认值为'duoceshi'
14、 has_key函数检查字典是否有指定的键,有返回True,没有返回False
dict1 = {'name':xiaowang,'age':18}
print (dict1.has_key('name')) #返回true,因为键存在
15、 popitem函数随机返回并删除字典中的键值对(一般删除末尾对)
如果字典已经为空,却调用了此方法,就报出KeyError异常
dict1 = {'name':xiaowang,'age':18,'class':24}
print (dict1.popitem()) print (dict1)
16、update函数利用一个字典更新另外一个字典
dict1 = {'name':xiaowang,'age':18}
dict2 = {"sex":1}
dict1.update(dict2) print (dict1)
注意:如果要更新的元素项在原字典里存在,则把原来的项覆盖
Python中的常见语句
If语句
1、 if条件判断语句单分支
单分支格式:
If判断条件:
语句块1
else:
语句块2
2、 if条件判断语句多分支
多分支语句格式:
If判断条件1:
语句块1
elif判断条件2:
语句块2
elif判断条件3:
语句块3
。。。
3、 if条件判断语句中的三目运算
name = input('请输入您的用户名:')
print ('在上海' if name == 'xiaowang' else '在深圳')
4、 if语句之if的嵌套语句(if中包含if)
while语句
格式:
while 条件表达式:
循环语句
(1)当循环条件成立就循环:
a=0
while a<5:
a+=1 #a=a+1
print(a
(2)当循环条件不成立就停止循环:
案例:
a=6
while a<5:
a+=1 #a=a+1
print(a)
(3)、死循环
案例:
a=6
while a >5:
a+=1 #a=a+1
print(a
作业:
使用while循环求出1-100的和
案例:
sum=0
while a <101:
sum+=a
a+=1 #a=a+1
print(sum)
使用while循环求出1-100的奇数和?
a=1
sum=0
while a <101:
sum+=a
a+=2 #a=a+1
print(sum)
使用while循环求出1-100的偶数和?
a=2
sum=0
while a <101:
sum+=a
a+=2 #a=a+1
print(sum)
for循环语句
格式: for ... in ...
语句块
2、函数range(函数)
a、range(开始值,结束值,步长) 包含开始值,不包含结束值
案例:
print(list(range(10))) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(2,10))) #[2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(2,10,2))) #[2, 4, 6, 8]
print(list(range(1,10,2))) #[1, 3, 5, 7, 9]
3、if语句使用
a、遍历range
for i in range(10):
print(i)
b、遍历range,横向输出(end=", ")
for i in range(10):
print(i,end=", ")
c、遍历字符
案例:
a="ancde"
for i in a:
print(i,end=", ")
d、遍历列表
b=[1,3,5,7]
for i in b:
print(i,end=", ")
e、遍历字典
c={"name":"zs","age":19}
for i in c:
print(i,c[i])
作业:
使用for循环求出1-100的和?
sum=0
for i in range(1,101):
sum+=i
# print(i,end=",")
print(sum)
使用for循环求出1-100的奇数和?
sum=0
for i in range(1,101,2):
sum+=i
print(sum)
使用for循环求出1-100的偶数和?
sum=0
for i in range(2,101,2):
sum+=i
print(sum)
continue语句
定义:python跳过当前循环语句,执行下一轮循环
案例:
l=[1,2,3,4,5]
for i in l:
if i3:
continue
print(i,end=",") #1,2,4,5,
break语句
定义:break 语句会立即退出,在其后边的循环代码不会被执行
案例
l=[1,2,3,4,5]
for i in l:
if i3:
break
print(i,end=",") #1,2,
pass语句
作用
a、用来站位
b、是一个空语句
c、pass是保证语句格式的完整性
d、保证语义的完整性
案例1:
a=(input("账号:"))
if a=="admin":
print("ok")
else:
pass
浙公网安备 33010602011771号