目录
2.元组tuple(有序,不可变)【类似于java的不可变数组】
一、配置python环境
(1)设置环境变量
path添加
C:\Program Files\Python3_11
C:\Program Files\Python3_11\Scripts
(2)了解pip
什么是pip?
pip是pyton包管理器,pypi(Python Package Index)官方的第三方库的仓库,联网下载的都是从pypi(www.pypi.org)下载的
pip的命令有哪些?
查看帮助命令:pip help
查看版本:pip --version
查看包:pip list ####查看所有已经安装的包
安装(联网):pip install 【包名】 ####默认是最新版本,要安装指定版本的写法是pip install 【包名】==【版本号】
安装(离线):pip install D:\xxxxxx\xxxxxxx\离线包.whl
升级(联网):pip install --upgrade 【包名】
卸载:pip uninstall 【包名】
(3)python的可视化IDE工具
visual studio code(简称vs code)、pyCharm
安装时的注意事项
vs code: 要安装“chinese中文语言包、python语法包”扩展
pyCharm: 要安装“chinese中文语言包”扩展
(4)获取学习文档
进python官网,点击docs,查看在线文档
二、python基本语法
(1)输入输出
输出打印:print
a=10
b='我叫b'
拼接打印:print('A的值是',a,'B的值是',b) ###用逗号拼接
动态打印:
(1)
print('我是%s段位,胜率有百分之%s高' %('星耀','90'))
或者
print('我是{}段位,胜率有百分之{}高' .format('星耀','90'))
###打印结果:我是星耀段位,胜率有百分之90高
(2)
print('我是%s段位,胜率有百分之%s高,主玩英雄是%s' %('星耀','90','亚瑟'))
或者
print('我是{}段位,胜率有百分之{}高,主玩英雄是{}' .format('星耀','90','亚瑟'))
###打印结果:我是星耀段位,胜率有百分之90高,主玩英雄是亚瑟
等待输入:input
level=input('请输入你王者的段位:')
print(“你输入的内容是——”,level)
运行代码,会弹出提示等待我输入,然后我输入“星耀”,然后回车
打印结果:你输入的内容是——星耀
(2)注释
单行注释:(井号)
#注释内容
多行注释:(三个单引号)
'''
注释内容
'''
(3)基本数据类型
1.三种基本数据类型
数字:int整型数字、float浮点数字
a=10 ###整型
a=1.234 ###浮点
字符串:
a='aaa str'
布尔:
a=True
a=False
2.基本数据类型的查看、互相转换
查看数据类型:type(变量名)
字符串转数字:int(字符串变量名)、float(字符串变量名)
数字转字符串: str(数字变量名)或者repr(数字变量名) ###唯一区别在于repr打印出来结果有单引号包裹,更好看
3.字符串
-
转义、换行
转义符:\ ###如a='\'A\'',打印结果'A'
换行显示符:\
a='11111111很长一行显示不完\
换行继续显示字符串'
换行打印符:\n ####a='第一行\n第二行'
空格打印符:\t
-
算长度、拼接、切片
字符串拼接:a='1',b='2',print(a+b)打印结果是12
求字符长度:len(变量名)
切片(切割字符串):
a='我是国服第一亚瑟'
切片语法:string[开始:结束:步长] ### 开始到结束是左开右闭(开表示要包含,闭表示不包含)
a[0]——>我
a[2:]——>国服第一亚瑟
a[2:4]——>国服 ###左开右闭,包含索引为2的值,不包含索引为4的值
a[:2]——>我是
a[1:7:2]——>是服一
4.数字、布尔
运算符有哪些
1)数字的运算符
算数运算符:+、-、*乘、/除、//整除(向下取整)、%取余(取模)、**取幂(2**3是2的3次幂)
赋值运算符:+=复合运算符(b+=a表示b=b+a)
比较运算符:!=不等于
2)布尔的运算符
逻辑运算符:and与(并且)、or或(或者)、not非(取反)
例子
a = True
b = False
if ( a and b ):
print ("a和b都为true")
elif ( a or b ):
print ("a、b至少一个为 true")
elif not(a and b):
print ("除了a和b都为true的其他情况")
(4)引用数据类型
1.列表list(有序)
定义
a=[] #空列表
a=[7,'张三',True,28]——>打印结果:7,'张三',true,28
算长度
len(a)
访问
通过切片方式访问,和string的切片一样的语法,也是 list[开始:结束:步长] ,左闭右开。
唯一的区别是list有负索引
a=[5,8,7,3,9,6,1,0,2]
a[4]——>9
a[-4]——6
a[6:-1]——>1,0
修改
a[4]=999 #用999代替9
添加
a.append('张三') #在末尾添加一个元素,即a[9]='张三'
删除
del(a[7]) #移除索引为7的元素0。后面的元素序号依次减1
清空
a.clear()
删除(整个列表)
del(a) #或者del a
2.元组tuple(有序,不可变)【类似于java的不可变数组】
和列表的区别:不能修改、添加、删除元素
定义
a=() #空元组
定义单个元素的元组要注意:
a=(28) # a的类型是int
a=(28,) # a的类型是tuple
a=(7,'张三',True,28) ——>打印结果:7,'张三',true,28
算长度
len(a)
访问
切片访问,和list一样的语法。也有正、负索引
连接
a=(28,)
b=('李四',)
c=a+b ——>c类型为tuple,值为:28,李四
迭代
a=('张三',28)
b=a*3 ——>迭代3次。b类型仍为tuple,值为:'张三',28,'张三',28,'张三',28
删除(整个元组)
del(a) #或者del a
3.集合set(无序,去重)
定义
a={'张三',28,'男','重庆','单身','单身'} ——>打印结果:{'张三',28,'男','重庆','单身'}
去重:只有一个'单身'是因为set会自动去重。定义时只保留一个
访问
通过循环遍历出来,循环见后续文章
算长度
len(a)
添加
a.add(新元素的值)
删除
a.remove(要删除的指定元素值)
a.pop() #随机删一个值
清空
a.clear()
删除 (整个集合)
del(a) #或者del a
集合之间运算
a={'张三',28,'男','单身'}
b={'小红',28,'女','单身'}
取交集:&
a & b——>{28,'单身'}
取并集:|
a | b——>{'张三','小红','男','女',28,'单身'}
取差集:-
a - b——>{'张三',男'}
b - a——>{'小红',女'}
4.字典dict(无序)【类似于java的map】
定义
a={
'段位':'星耀',
'star':3,
'厉害吗':True
} ——>打印结果:{'段位':'星耀','star':3,'厉害吗':True}
访问
a['段位'] ——>'星耀'
算长度
len(a)
修改
a['段位']='王者'
添加
a['新的key']=新的value ——>打印结果:{'段位':'星耀','star':3,'厉害吗':True,新的key',新的value}
修改和添加区别:key存在就是修改,不存在就是添加
删除
del(a['star']) ——>打印结果:{'段位':'星耀',厉害吗':True}
清空
a.clear()
删除(整个字典)
del(a) #或者del a
5.列表、元组、集合间转换
列表、元组转集合:set(元组或列表)
(5)分支if-else
1.单分支if
注意:事件第一行开头必须要缩进(至少1个空格),不然报语法错误。后面行开头不加空格
例子:
flag=True
if flag==True:
【缩进】print('flag值为',flag)
print('你好世界')
2.双分支if-else
例子:
flag=False
if flag==True:
【缩进】print('不会打印的内容')
else:
【缩进】print('打印内容')
3.多分支if-elif-else
例子
age=28
if age<8:
【缩进】print('小孩')elif 8<=age<18: #注意:这儿只写age<18也是一样的。因为python多分支是第一个条件判断不成立才执行第二条件的判断,所以这儿即使不写8<=age也默认了8<=age
【缩进】print('少年')
else:
【缩进】print('成年人')
4.嵌套分支
分支里面又嵌套有子分支
例子
age=28
if age<8:
【缩进】print('小孩')
elif 8<=age<18:
【缩进】print('少年')
else:
【缩进】if age<45:
【缩进】 【缩进】print('中年人')
【缩进】else:
【缩进】 【缩进】print('老年人')
5.内联if(又叫if表达式、if函数)
语法:if-else写在1行。条件成立返回值1,不成立返回值2
例子:
sex='男'
result=''
result=【可以缩进也可以不缩进】 ‘判断正确’ if sex=='男' else '判断错误'
#sex值,为男result=‘判断正确’,为女result=‘判断错误’
(6)循环
1.for循环
1)语法
for 变量 in 遍历目标:
循环内操作
2)遍历list列表、tuple元组、set集合
例子1:
a=[1,2,3,4]
for x in a:
【缩进】print(x,end='自定义分隔符') #最后加上end表示每次循环打印不换行,用分隔符隔开
例子2:
使用enumerate函数,把遍历目标的索引也遍历出来
##遍历目标只能是有序的引用类型:list列表或tuple元组的
a=[1,2,3,4]
for x,y in enumerate(a):
【缩进】print('索引为',x,'值为','y')
3)遍历dict字典
例子1:
遍历key-value
a={
'段位':'星耀',
'star':3,
'厉害吗':True
}
for x,y in a.items():
【缩进】print('key为',x,'value为','y')
例子2:
遍历key列表
a={
'段位':'星耀',
'star':3,
'厉害吗':True
}
for x in a.keys():
【缩进】print('key为',x)
例子3:
遍历value列表
a={
'段位':'星耀',
'star':3,
'厉害吗':True
}
for y in a.values():
【缩进】print('value为',y)
4)遍历字符串
例子:
a='我叫张三'
for x in a:
【缩进】print(x)
5)通过range函数控制循环
- [1]range函数语法
遵循左开右闭原则
- [2]range和list函数
- [3]range和sum函数
sum(range(1,101)) #计算1+2+3+....+100的和
- [4]使用range函数控制循环
循环4次
循环16次
2.while循环
1)语法
while 条件:
//条件:数值(0为假,非0为真)、比较结果(>、<)、非(not '一个值',表示为假) 、空值(""表示为假,not ""为真)
【缩进】循环内容1
【缩进】循环内容2
如:
条件为比较结果
x=0
while x<5: //第一步(进行判断,满足就执行第二步)
【缩进】print(x) //第二步
【缩进】x++ //第三步,返回第一步
条件为空值
name=""
while not name:
【缩进】name=input("请输入name的值:")
【缩进】print('name值为',name)
print('name值为空')