9.11总结
Posted lidandanaa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.11总结相关的知识,希望对你有一定的参考价值。
一、基本运算符:
1.算术运算符:
+-*/ % // **
2.比较运算符:
以下假设变量a为10,变量b为20.
运算符 | 描述 | 实例 |
---|---|---|
== | 等于-比较对象是否相等 | a==b |
!= | 不等于 | a!=b |
<> | 不等于 | a<>b |
3.赋值运算符:
=、+=、-=、/=、%=、**=、//=
4.逻辑运算符:
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | x and y | 布尔‘与’ 如果x为false,结果为false,否则返回y。 |
or | x or y | 布尔‘或’,如果x非0,则返回x,否则返回y |
not | not x | 布尔‘非’,如果x为true,返回false,如果x为false,返回true |
5.身份运算符
比较两个对象的内存地址是否相同
运算符 | 描述 | 实例 |
---|---|---|
is | is是判断两个标识符是不是引自同一个对象 | x is y,类似于id(x)==id(y) |
is not | is not是判断两个标识符是不是引自不同对象 | x is not y,类似于id(x)!=id(y) |
is和= =的区别:is用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中),==用于判断引用变量的值是否相等。
x=257
y=x
z=257
print(f'x is y:{x is y}') #true
print(f'x==y:{x==y}') #true
print(f'x is z:{x is z}') #false
print(f'x==z:{x==z}') #true
#因为x和z的变量值相同,但是内存地址不同,所以is下是false,==下是true
6.成员运算符:
运算符 | 描述 |
---|---|
in | 如果在指定的序列中找到值返回true,否则返回false |
not in | 如果在指定的序列中没有找到值返回true,否则返回false |
7.Python运算符优先级:
先乘除,后加减,当然最优先的是括号里的。
二、流程控制if判断:
单分支:只有一个条件,成立就执行,否则直接打印print的内容
if 条件:
代码1
代码2
代码3
...
print('hhh')
双分支:条件成立执行if条件下的代码块,不成立执行else下的代码块
if 条件:
代码1
代码2
代码3
...
else:
代码1
代码2
代码3
...
多分支:条件1成立执行if下的代码块,条件2,3到n成立执行elif下代码块,都不成立执行else下代码块
if 条件1:
代码1
代码2
代码3
...
elif 条件2:
代码1
代码2
代码3
...
elif 条件3:
代码1
代码2
代码3
...
...
else:
代码1
代码2
代码3
...
三、流程控制while循环:
循环就是重复不断的,while+break可以终止全部循环,while+continue可以终止跳过本次循环,
while True:
user_db='ldd'
pwd_db='233'
user_inp=input('请输入用户名:')
pwd_inp=input('请输入密码:')
if user_db==user_inp and pwd_db==pwd_inp:
print('login succefully')
break
else:
print('your are input error,please try again')
print('退出')
continue不能加在循环体的最后一步执行的代码,(不是最后一行哦),加上去毫无意义。
以上是关于9.11总结的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu18.04配置carla0.9.11踩坑与解决方法总结,同时解决安装carla-ros-bridge遇到的问题,并复现OpenCDA成功与ros关联