python初级:基础知识学习-变量、数据类型、运算符、选择结构

python初级:基础知识学习-变量、数据类型、运算符、选择结构

一、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)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114479.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 基于JAVA+Servlet+JSP+MYSQL的图书销售管理系统

    基于JAVA+Servlet+JSP+MYSQL的图书销售管理系统项目功能:此网上书店系统具有以下基本功能:1.用户注册功能:进入网上书店的用户可以进行商品浏览,但不能进行购买,此时用户的身份为游客。如需购买图书,就要用到用户注册功能。需要输入用户名和密码进行注册。如果已注册的用户忘记密码,可以点击“找回密码”按钮。已注册用户也可以点击“注销”按钮进行用户信息注销。2.商品管理功能:商品管理功能即用户可以对网上书店的书籍进行搜索、查看、选购。在管理员方面,此功能还包括系统内图书的上新、下架管理。3.书店购物车功能:用户可以将心仪的图书加入到书店购物车中。在书店购物

  • foc无刷电机位置控制(直流无刷电机接线图解)

    序:矢量控制的核心思想是为了简化无刷电机的控制模型,将一个需要换相的无刷电机通过各种算法变换,抽象为一个直流电机的控制模型,只需要控制简单的两个直流分量来控制无刷电机,其中Vq抽象为直流电机的两端电压,Vd可调节电机力矩,但这个模型需要一个实时的电机轴角度θ参与计算。为了实现这个直流电机的控制模型,需要用到两个数学变换,即clarke变换和park变换。需要用到最原始的PID控制器等内容。…

  • executescalar mysql_ExecuteScalar[通俗易懂]

    executescalar mysql_ExecuteScalar[通俗易懂]这两个答案和一点点思考使我想到了一个接近答案的东西。首先再澄清一下:该应用程序是用C#(2.0+)编写的,并使用ADO.NET与SQLServer2005进行通信。镜像设置是托管主体和镜像的两个W2k3服务器以及托管作为监视器的快速实例的第三个服务器。这样做的好处是,故障转移对于使用数据库的应用程序几乎是透明的,它将对某些连接引发错误,但从根本上讲一切都会很好地进行。是的,我们得到了奇怪的误报…

  • 什么是PV,UV。

    什么是PV,UV。

  • c语言和java哪个有前途_Java和C语言哪个好就业?

    c语言和java哪个有前途_Java和C语言哪个好就业?编程语言多达600余种,有畅行多年的,有逐渐被人遗忘的,还有发展迅速的后起之秀。Java和C语言作为使用者较多的两大语言,受到很多编程初学者的青睐,很多人在Java和C语言之间不知道该选哪个,想从事软件开发工作的话,究竟学哪个好呢?从两者的起源来看,Java是C语言的后辈,它是在C语言的基础上发展得来,抛弃了难懂的指针概念,和C完全不同的是Java是一门面向对象的语言,因为Java的跨平台和可移植…

  • NOTIFYICONDATA结构

    NOTIFYICONDATA结构//农机调度项目代码NOTIFYICONDATAm_notifyData;m_notifyIcon.ChangeIcon(IDI_PAUSE,_T("监控终端server已暂停&quot

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号