一、python变量
1.变量
变量是程序中临时存[数据。 变量的赋值:向变量中存储数据 语法:变量名称 = 数据 python代码中,出现了等号~通常情况就是向左边的变量中存储数据 变量作为一个容器,对于数据的操作一般只有四种:增加、删除、修改、查询
2.变量的操作
(1)连续赋值 按照变量声明的前后顺序,依次赋值的过程 为了简化多个变量同时赋值的情况,出现了连续赋值的语法 变量1,变量2,…变量n = 数据1,数据2,…数据n 如:
name, gender, age = "DAMU", "male", 18
(2)变量交换
name1 = "TOM"
name2 = "JERRY"
name1, name2 = name2, name1
二、python数据类型
1.python
python是一门弱类型语言,对类型的严格度不高
2.简单数据类型
(1)字符串(str):描述一段信息 语法:使用双引号或者单引号包含的多个字符 如:name = “DAMU” (2)整数(int):描述一个整数数据 语法:数据直接使用数字表示 如:weight = 80 (3)浮点数(float):描述一个小数 语法:数据直接使用数字表示,可以包含一个小数点 如:height = 1.78 (4)布尔(bool):描述一个事情的正反两面[真|假] 语法:布尔类型的数据,只能有两个数据[True真|False假] 如:rain = False
name="peng"
age=18
salary=2200.01
flag=True
result=1-1j
print(type(name))#str
print(type(age))#int
print(type(salary))#float
print(type(flag))#bool
print(type(result))#complex
print(result.real,result.imag)#打印实部与虚部,默认浮点型
3.list列表结构
python可以允许列表/数组里出现多种类型 列表查询
heros=["刘备","后羿","马超","安琪拉","李白",100,20.03,False]
print(type(heros))#list
heros=["刘备","后羿","马超","安琪拉","李白"]
print(heros)
#增删改查
#查询列表
#通过索引进行查询,凡是叫索引都是从0开始
print(heros[0])#刘备
print(heros[4])#李白
print(heros[-1])#李白
print(heros[-2])#安琪拉
#花式索引
#+可以完成字符券的拼接
print(heros[1]+heros[2])#后羿马超
#:可以进行范围性查询,集合左闭右开,索引可以取到最小值索引,但是取不到最大值索引
print(heros[1:2])#后羿,类型为list
print(heros[1:3])#['后羿','马超'],类型为list,理解为大list变为小list
#从索引1开始到最后
print(heros[1:5])
print(heros[1:])
#从第一个索引,到最后
print(heros[0:4])
print(heros[:4])
列表增加
#增加
#追加与插入
#追加:从最后添加,位置和内容,默认最后添加
heros=["刘备","后羿","马超","安琪拉","李白"]
heros.append("亚瑟")#["刘备","后羿","马超","安琪拉","李白","亚瑟"]
#插入,在索引之前插入对象
heros.insert(1,"妲己")#["刘备","妲己","后羿","马超","安琪拉","李白","亚瑟"]
列表修改
heros=["刘备","后羿","马超","安琪拉","李白"]
#修改
heros[2]="关羽"
print(heros)#["刘备","后羿","关羽","安琪拉","李白"]
列表删除
heros=["刘备","后羿","马超","安琪拉","李白"]
del heros[3]
print(heros)#["刘备","后羿","关羽","李白"]
4.数据类型转换
在Python代码中,所有的基本数据类型可以互相转换 (1) 字符串转换成其他类型
字符串 | 其他数据类型 |
---|---|
“11” | 转换:int(“11”) –> 整数11 |
“11” | 转换:float(“11”)–> 浮点数:11.0 |
“a” | 转换:bool(“a”) –> 布尔值:True |
” “ | 转换:bool(” “) –> 布尔值:True |
“” | 转换:bool(“”) –> 布尔值:False |
(2) 整数转换成其他类型
整数 | 其他数据类型 |
---|---|
11 | 转换:str(11) –> 字符串:“11” |
11 | 转换:float(11)–> 浮点数:11.0 |
11 | 转换:bool(11) –> 布尔类型:True |
0 | 转换:bool(0)–> 布尔类型:False |
(3) 浮点数转换成其他类型
浮点数 | 其他数据类型 |
---|---|
11.0 | str(11.0) –> 字符串:“11.0” |
11.0 | int(11.0) –> 整数:11 |
11.0 | bool(11.0) –> 布尔:True |
(4) 布尔类型 转换成其他类型
布尔类型 | 其他数据类型 |
---|---|
True | str(True) –> 字符串:“True” |
True | int(True) –> 整数:1 |
True | float(True) –> 浮点数:1.0 |
False | str(False) –> 字符串:“False” |
False | int(False) –> 整数:0 |
False | float(False) –> 浮点数:0.0 |
三、元组tuple
1.()使用
元组查询
#元组
heros=("庄周","鲁班","嬴政","虞姬","芈月")
print(heros[-1])#芈月
print(heros[1:3])#"鲁班","嬴政"
#设置步长参数
print(heros[1:3:2])#"鲁班",
#反向打印
print(heros[::-1])#("芈月","虞姬","嬴政","鲁班","庄周")
元组不支持增加元素 元组不支持修改元素 元组不支持删除元素 元组不支持任何修改操作,不支持值修改,也不支持结构修改
#追加和插入
heros=("庄周","鲁班","嬴政","虞姬","芈月")
#tuple不支持增加元素
四、字典key-value
1、字典查询
student={
"name":"李思越",
"sex":True,
"age":18,
"weight":90}
print(student)#{"name":"李思越","sex":True,"age":18, "weight":90}
print(type(student))#dict
#单双引号在python区别不大
#在字典中可以通过key值获取value
print(student["name"])
#获取所有key值
print(student.keys())
#获取所有value值
print(student.values())
2、字典增加、修改
#增加
student={
"name":"李思越",
"sex":True,
"age":18,
"weight":90}
student["height"]=175
print(student)
#修改
student["height"]=185
print(student)
#删除
del student["sex"]
print(student)
五、栈
player=["字母哥","詹姆斯","科比","乔丹"]
player.append("库里")
print(player)
#会返回末尾段的值,并移除
pop=player.pop
print(pop)
print(player)
六、队列
1、双向链表,先进先出,后进后出
from collections import deque
player=["字母哥","詹姆斯","科比","乔丹"]
#通过deque方法对列表进行处理
queue=deque(player)
print(type(queue))#<class 'collections.deque'>
queue.append("库里")
print(queue)#deque(['字母哥', '詹姆斯', '科比', '乔丹', '库里'])
queue.appendleft("哈登")#左添加
print(queue)#deque(['哈登', '字母哥', '詹姆斯', '科比', '乔丹', '库里'])
pop1=queue.pop()
print(pop1)#库里
print(queue)#deque(['哈登', '字母哥', '詹姆斯', '科比', '乔丹'])
pop2=queue.popleft()
print(pop2)#哈登,左删除
print(queue)#deque(['字母哥', '詹姆斯', '科比', '乔丹'])
七、分支
a=10
if(a>10):
print("a大于10")
else:
print("a不大于10")
八、循环
1.for循环
循环遍历列表,循环次数取决于列表元素个数 range()范围性方法默认从0开始传进去的参数为止,取得到第一个值取不到最后一个值 for 临时变量 in 一串数据: 将一串数据中的单个数据依次循环查看和使用
for i in [1,2,3,4,5]:
print(i)
for i range(5):
print(i)
2.whlie循环
while(循环终止条件)
a=0
while(a<10):
print(a)
a=a+1
#0-9
for循环可以明确知道循环次数 while不确定循环几次终止循环,明确循环终止条件
九、列表生成式、运算符、数据格式化、获取用户输入、赋值
import math
#列表生成式
#变量的声明,一般采用驼峰命名法,当名称出现多个单词时,
# 首单词首字母小写,其余后面单词首字母大写
numList=[]
for i in range(10):
numList.append(i)
print(numList)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numList1=[i for i in range(10)]#代替上述三行代码
print(numList1)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#运算符
a=13.45
print("向上取整",math.ceil(a))#向上取整 14
print("向下取整",math.floor(a))#向下取整 13
#四舍五入
print("四舍五入:",round(3.556,1))#四舍五入: 3.6
#数据格式化
player_name='科比'
player_num=24
player_height=198.001
#使得更改某些变量的值,让打印的内容发生变换
print("穿着24号球衣的科比身高198.1公分!")
#r如果数据类型不一致,是不可以进行+号操作的
#print("穿着"+player_num+"号球衣的"+player_name+"身高"+player_height+"公分!")
#第一种数据格式化方式
#%s字符占位符,%d数字占位符,%f浮点型
print("穿着%d号球衣的%s身高%f公分!"%(player_num,player_name,player_height))#穿着24号球衣的科比身高198.001000公分!
print("穿着%d号球衣的%s身高%.3f公分!"%(player_num,player_name,player_height))#穿着24号球衣的科比身高198.001公分!
#第二种数据格式化方式
#使用{}作为我们的展位符
print("穿着{}号球衣的{}身高{}公分!".format(player_num,player_name,player_height))#穿着24号球衣的科比身高198.001公分!
print("穿着{}号球衣的{}身高{:.2f}公分!".format(player_num,player_name,player_height))#穿着24号球衣的科比身高198.00公分!
#获取用户输入
inputName=input("请输入您的名字:")
print(inputName)
inputage=float(input("请输入您的年龄:"))
print(inputage)
#连续赋值
a=b=c=d=1
print(a,b,c,d)
#分别赋值
e,f,g="哈哈",True,666
print(e,f,g)