python基础(二):变量的数据类型、常量、操作符、分支、循环、条件判断

下面是小凰凰的简介,看下吧!
💗人生态度:珍惜时间,渴望学习,热爱音乐,把握命运,享受生活
💗学习技能:网络 -> 云计算运维 -> python全栈( 当前正在学习中)
💗您的点赞、收藏、关注是对博主创作的最大鼓励,在此谢过!
有相关技能问题可以写在下方评论区,我们一起学习,一起进步。
后期会不断更新python全栈学习笔记,秉着质量博文为原则,写好每一篇博文。

一、变量的数据类型

变量推荐写法:

age_of_alex = 10
#做到见名知义,不写拼音、汉字,全为小写
1、int(整型)

注:python中只有整型,没有长度限制,不像java,有短整型、长整型

2、float(浮点型)

注:float和int之间的唯一区别就是有没有小数点。

3、boolean(布尔型)

注:在python中布尔型也是只有两,一个True,一个False,且True相当于是1,False相当于是0.
在这里插入图片描述在这里插入图片描述

为了更简洁的表示较长的数,python采用e记法:

在这里插入图片描述2e+5=2 * 105
5e-12=5 * 10-12

介绍两个判断数据类型的函数:
(1)type()

在这里插入图片描述python这门语言对大小写有严格要求,还有缩进也有严格要求。

(2)isinstance(),官方推荐

在这里插入图片描述

二、常量

常量:不变的量
注意:python的语法中没有常量的概念,但是在程序的开发过程中会涉及到常量的概念。

AGE_OF_ALEX=73 #当变量名全大写便代表常量,这是一种约定俗成的规范

三、操作符

1、算数操作符

在这里插入图片描述前五个加、减、乘、除、取余、乘方、地板除法
依旧支持+=、-=、*=、/=、%=、**=、//=

注意点:

(1)除和地板除法的区别

在这里插入图片描述
注:除法是精确除法,地板除法是向下取整

(2)**乘方运算符

在这里插入图片描述
那么想下-3 ** 2它的运算结果是多少:
答案:-9,上面这个相当于:-(3 ** 2)
3 ** -2它的运算结果是多少:
答案:1/9,上面这个相当于:3-2

(3)三目运算符

在这里插入图片描述

2、赋值操作符
(1)增量复制

在这里插入图片描述

(2)链式复制
>>> z=10
>>> y=z
>>> x=y
>>> x,y,z
(10, 10, 10)

可以多个变量同时赋值。
在这里插入图片描述

(3)交叉复制
>>> temp=m
>>> m=n
>>> n=temp
>>> m,n

可以一行代码搞定:

>>> m=10
>>> n=20
>>> m,n=n,m # 交叉赋值
>>> m,n
(20, 10)
(4)解压复制

如果我们想把列表中的多个值取出来依次赋值给多个变量名,可以这么做

>>> nums=[11,22,33,44,55]
>>> a,b,c,d,e=nums # nums包含多个值,就好比一个压缩包,解压赋值因此得名
>>> a,b,c,d,e
(11, 22, 33, 44, 55)
>>> a,b,c=nums[2:5] #切片实现截取复制
>>> a,b,c
(33, 44, 55)
3、比较操作符

>、<、==、!=、>=,<=
这个没有什么说的!
主要是python在这里两个特色:

(1)比较是否相等

我们都知道的java的"==“比较两个字符串是比较它们的地址,但是python中”=="即使比较字符串也是比较的内容,而不是地址

(2)允许连续比较

在这里插入图片描述

(3)断言

在这里插入图片描述

4、逻辑运算操作符

在这里插入图片描述这个就是逻辑与、或、非!
优先级:not>and>or

5、成员运算符

在这里插入图片描述注意:虽然下述两种判断可以达到相同的效果,但我们推荐使用第二种格式,因为not in语义更加明确

>>> not 'lili' in ['jack','tom','robin']
True
>>> 'lili' not in ['jack','tom','robin']
True
6、身份运算符

在这里插入图片描述需要强调的是:==双等号比较的是value是否相等,而is比较的是id是否相等

#1. id相同,内存地址必定相同,意味着type和value必定相同
#2. value相同type肯定相同,但id可能不同,如下
>>> x='Info Tony:18'
>>> y='Info Tony:18'
>>> id(x),id(y) # x与y的id不同,但是二者的值相同
(4327422640, 4327422256)


>>> x == y # 等号比较的是value
True
>>> type(x),type(y) # 值相同type肯定相同
(<class 'str'>, <class 'str'>)
>>> x is y # is比较的是id,x与y的值相等但id可以不同
False

上述内容如果看不懂请看下面博客详解,变量内存管理:
https://blog.csdn.net/weixin_44571270/article/details/105736076

四、分支

语句:

  if 条件:
  	
      else
1、多分支语句

在这里插入图片描述

2、python可以有效避免悬挂else

什么叫悬挂else?
在这里插入图片描述c语言中if语句如果不加{},很容易造成悬挂else,就是else我本来是想和外层if语句匹配,但是c语言这时会根据就近原则和内层if匹配。
python由于有严格的缩进,你的else缩进在哪里,就取决了你选择else属于那个if

五、循环

1、while循环:

在这里插入图片描述没有do while循环了。
while循环里的break、continue语句我就不讲了。

(1)退出循环的两种方式

一个是break,这个不讲了。
另外一个是设置tag,此方法局限性较大。

tag = True
count = 0
while tag:
    username = input("请输入你的账号:")
    password = input("请输入你的密码:")
    if username == 'Mr.wu' and password == '123':
        print("登录成功")
        while tag:
            cmd = input("输入命令> ")
            if cmd == 'q':
                tag = False
            else:
                print("命令{x}正在运行...".format(x=cmd))
    else:
        count += 1
        if count == 3:
            print("输入错误三次,退出程序...")
            break
        else:
            print("输入账号或密码错误,请重新输入")

程序运行效果:
在这里插入图片描述tag直接可以跳出多重循环。

(2)while+else
语法:
while 条件:
	代码1
	代码2
	if 条件:
		break
else:
	代码3

当循环正常执行完毕退出后,else语句中的代码就会执行,循环如果是break退出的,就不会执行。显然这是一个针对break的语法。
案例:

tag = True
count = 0
while tag:
    username = input("请输入你的账号:")
    password = input("请输入你的密码:")
    if username == 'Mr.wu' and password == '123':
        print("登录成功")
        while tag:
            cmd = input("输入命令> ")
            if cmd == 'q':
                tag = False
            else:
                print("命令{x}正在运行...".format(x=cmd))
    else:
        count += 1
        if count == 3:
            print("输入错误三次,退出程序...")
            break
        else:
            print("输入账号或密码错误,请重新输入")
else:
    print("程序正常执行完毕!")

在这里插入图片描述程序正常执行完毕,执行else里的代码。

在这里插入图片描述因为是break退出所以没执行else里的代码。

2、for 循环:

在这里插入图片描述

(1)print中的end和逗号

num = ‘吴晋丞’
for i in num :
print(i,end=’’) #其中逗号代表空格
原理解释:为末尾end传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串,其实这也是一个语法要求,表示这个语句没结束。end的作用也就是取消换行,如果你把空字符串中加个空格,那么它就是用在字符串末尾添加空格替代添加换行符。
在这里插入图片描述

(2)for应用在数组

在这里插入图片描述len这个函数是用来计算传入字符串长度的。
java中只能用数字作为参数,制造循环,python中却可以用字符串当作参数

(3)for循环中的range函数

在这里插入图片描述
还可以设置循环的步长:
在这里插入图片描述这个range函数保证了python的for循环可以完成java中for循环的所有功能。

(4)break和continue语句

这个和java中的效果一样!

(5)range函数补充知识点
  • range搭配for可以取索引
a = [1,'a',True,3]
for i in range(len(a)):
	print(a[i])
#想下 for i in a:,它们两者的区别

在这里插入图片描述

  • range函数在python3的优化
    python2:
    在这里插入图片描述
    python3:
    在这里插入图片描述
python2中直接创建一个存储着range范围内的所有数的列表
python3中是不创建,要用多少,我在用的时候再创建,因为程序for循环搭配range不一定能把range使用完。

python3中的range无疑减少了内存的开销。通俗来说,python2直接把10个蛋给你,python3给你一个能下10个蛋的鸡,你要一个蛋,就给你下一个。

六、条件判断

条件一般由比较运算符和逻辑运算符组合而成,逻辑运算符为可要可不要。

age > 10 and sex = '男' #这就是条件判断,最后得到的是一个布尔值
1、显示布尔值

True、False

if True:
	代码1
	代码2
2、隐式布尔值

所有数据类型,0,none、空为假,其他都为真

print(not '')
print(not None)
print(not 0)
print(not [])
print(not 1)
print(not 4)
print(not 'abc')
print(not [1,2])

在这里插入图片描述

  • 13
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凤求凰的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值