文章目录
一、变量的数据类型
1、int(整型)
2、float(浮点型)
3、boolean(布尔型)
为了更简洁的表示较长的数,python采用e记法:
介绍两个判断数据类型的函数:
(1)type()
(2)isinstance(),官方推荐
二、常量
三、操作符
1、算数操作符
(1)除和地板除法的区别
(2)**乘方运算符
(3)三目运算符
2、赋值操作符
(1)增量复制
(2)链式复制
(3)交叉复制
(4)解压复制
3、比较操作符
(1)比较是否相等
(2)允许连续比较
(3)断言
4、逻辑运算操作符
5、成员运算符
6、身份运算符
四、分支
1、多分支语句
2、python可以有效避免悬挂else
五、循环
1、while循环:
(1)退出循环的两种方式
(2)while+else
2、for 循环:
(1)print中的end和逗号
(2)for应用在数组
(3)for循环中的range函数
(4)break和continue语句
(5)range函数补充知识点
六、条件判断
1、显示布尔值
2、隐式布尔值
一、变量的数据类型
变量推荐写法:
age_of_alex = 10
#做到见名知义,不写拼音、汉字,全为小写
1、int(整型)
注:python中只有整型,没有长度限制,不像java,有短整型、长整型
2、float(浮点型)
注:float和int之间的唯一区别就是有没有小数点。
3、boolean(布尔型)
注:在python中布尔型也是只有两,一个True,一个False,且True相当于是1,False相当于是0.
为了更简洁的表示较长的数,python采用e记法:
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、比较操作符
>、<、&#61;&#61;、!&#61;、>&#61;,<&#61;
这个没有什么说的&#xff01;主要是python在这里两个特色&#xff1a;
&#xff08;1&#xff09;比较是否相等
我们都知道的java的"&#61;&#61;“比较两个字符串是比较它们的地址&#xff0c;但是python中”&#61;&#61;"即使比较字符串也是比较的内容&#xff0c;而不是地址
&#xff08;2&#xff09;允许连续比较
&#xff08;3&#xff09;断言
4、逻辑运算操作符
这个就是逻辑与、或、非&#xff01;
优先级&#xff1a;not>and>or
5、成员运算符
注意&#xff1a;虽然下述两种判断可以达到相同的效果&#xff0c;但我们推荐使用第二种格式&#xff0c;因为not in语义更加明确
>>> not &#39;lili&#39; in [&#39;jack&#39;,&#39;tom&#39;,&#39;robin&#39;]
True
>>> &#39;lili&#39; not in [&#39;jack&#39;,&#39;tom&#39;,&#39;robin&#39;]
True
6、身份运算符
需要强调的是&#xff1a;&#61;&#61;双等号比较的是value是否相等&#xff0c;而is比较的是id是否相等
#1. id相同&#xff0c;内存地址必定相同&#xff0c;意味着type和value必定相同
#2. value相同type肯定相同&#xff0c;但id可能不同,如下
>>> x&#61;&#39;Info Tony:18&#39;
>>> y&#61;&#39;Info Tony:18&#39;
>>> id(x),id(y) # x与y的id不同&#xff0c;但是二者的值相同
(4327422640, 4327422256)>>> x &#61;&#61; y # 等号比较的是value
True
>>> type(x),type(y) # 值相同type肯定相同
(, )
>>> x is y # is比较的是id&#xff0c;x与y的值相等但id可以不同
False
四、分支
语句&#xff1a;
if 条件&#xff1a;else&#xff1a;
1、多分支语句
2、python可以有效避免悬挂else
什么叫悬挂else&#xff1f;
c语言中if语句如果不加{}&#xff0c;很容易造成悬挂else&#xff0c;就是else我本来是想和外层if语句匹配&#xff0c;但是c语言这时会根据就近原则和内层if匹配。
python由于有严格的缩进&#xff0c;你的else缩进在哪里&#xff0c;就取决了你选择else属于那个if
五、循环
1、while循环&#xff1a;
do while循环了。
while循环里的break、continue语句我就不讲了。
&#xff08;1&#xff09;退出循环的两种方式
一个是break&#xff0c;这个不讲了。
另外一个是设置tag&#xff0c;此方法局限性较大。
tag &#61; True
count &#61; 0
while tag:username &#61; input("请输入你的账号&#xff1a;")password &#61; input("请输入你的密码&#xff1a;")if username &#61;&#61; &#39;Mr.wu&#39; and password &#61;&#61; &#39;123&#39;:print("登录成功")while tag:cmd &#61; input("输入命令> ")if cmd &#61;&#61; &#39;q&#39;:tag &#61; Falseelse:print("命令{x}正在运行...".format(x&#61;cmd))else:count &#43;&#61; 1if count &#61;&#61; 3:print("输入错误三次&#xff0c;退出程序...")breakelse:print("输入账号或密码错误&#xff0c;请重新输入")
程序运行效果&#xff1a;
tag直接可以跳出多重循环。
&#xff08;2&#xff09;while&#43;else
语法&#xff1a;
while 条件:代码1代码2if 条件:break
else&#xff1a;代码3
当循环正常执行完毕退出后&#xff0c;else语句中的代码就会执行&#xff0c;循环如果是break退出的&#xff0c;就不会执行。
显然这是一个针对break的语法。
案例&#xff1a;
tag &#61; True
count &#61; 0
while tag:username &#61; input("请输入你的账号&#xff1a;")password &#61; input("请输入你的密码&#xff1a;")if username &#61;&#61; &#39;Mr.wu&#39; and password &#61;&#61; &#39;123&#39;:print("登录成功")while tag:cmd &#61; input("输入命令> ")if cmd &#61;&#61; &#39;q&#39;:tag &#61; Falseelse:print("命令{x}正在运行...".format(x&#61;cmd))else:count &#43;&#61; 1if count &#61;&#61; 3:print("输入错误三次&#xff0c;退出程序...")breakelse:print("输入账号或密码错误&#xff0c;请重新输入")
else:print("程序正常执行完毕&#xff01;")
程序正常执行完毕&#xff0c;执行else里的代码。
2、for 循环&#xff1a;
&#xff08;1&#xff09;print中的end和逗号
num &#61; &#39;吴晋丞&#39;
for i in num :print(i,end&#61;&#39;&#39;) #其中逗号代表空格
原理解释&#xff1a;为末尾end传递一个空字符串&#xff0c;这样print函数不会在字符串末尾添加一个换行符&#xff0c;而是添加一个空字符串&#xff0c;其实这也是一个语法要求&#xff0c;表示这个语句没结束。end的作用也就是取消换行
&#xff0c;如果你把空字符串中加个空格&#xff0c;那么它就是用在字符串末尾添加空格替代添加换行符。
&#xff08;2&#xff09;for应用在数组
len这个函数是用来计算传入字符串长度的。
java中只能用数字作为参数&#xff0c;制造循环&#xff0c;python中却可以用字符串当作参数
&#xff08;3&#xff09;for循环中的range函数
还可以设置循环的步长
这个range函数保证了python的for循环可以完成java中for循环的所有功能。
&#xff08;4&#xff09;break和continue语句
这个和java中的效果一样&#xff01;
&#xff08;5&#xff09;range函数补充知识点
a &#61; [1,&#39;a&#39;,True,3]
for i in range(len(a)):print(a[i])
#想下 for i in a:&#xff0c;它们两者的区别
range函数在python3的优化
python2:
python3:
python2中直接创建一个存储着range范围内的所有数的列表
python3中是不创建&#xff0c;要用多少&#xff0c;我在用的时候再创建&#xff0c;因为程序for循环搭配range不一定能把range使用完。
python3中的range无疑减少了内存的开销。通俗来说&#xff0c;python2直接把10个蛋给你&#xff0c;python3给你一个能下10个蛋的鸡&#xff0c;你要一个蛋&#xff0c;就给你下一个。
六、条件判断
条件一般由比较运算符和逻辑运算符组合而成&#xff0c;逻辑运算符为可要可不要。
age > 10 and sex &#61; &#39;男&#39; #这就是条件判断&#xff0c;最后得到的是一个布尔值
1、显示布尔值
True、False
2、隐式布尔值
所有数据类型&#xff0c;0&#xff0c;none、空为假&#xff0c;其他都为真
print(not &#39;&#39;)
print(not None)
print(not 0)
print(not [])
print(not 1)
print(not 4)
print(not &#39;abc&#39;)
print(not [1,2])
好啦&#xff0c;今天的分享到这里啦&#xff0c;如果还有什么不懂的可以加入交流群一起学习&#xff08;个性签名&#xff09;
微信公众号&#xff1a;&#xff08;个性签名&#xff09;