python表达式323的值为_转: Python 运算符与用法
+加两个对象相加
3 + 5得到8。'a' + 'b'得到'ab'。
(注意:6+'a'这样是错误的,但在PHP里这样是可以运行的)
-减得到负数或是一个数减去另一个数
-5.2得到一个负数。50 - 24得到26。
*乘两个数相乘或是返回一个被重复若干次的字符串
2 * 3得到6。'la' * 3得到'lalala'(但PHP里这样运算返值为0)。
在PHP中要实现相同功能,有函数:
str_repeat(),str_pad()
**幂
返回x的y次幂
3 ** 4得到81(即3 * 3 * 3 * 3)
/除x除以y
4/3得到1(整数的除法得到整数结果)。
4.0/3或4/3.0得到1.3333333(这里要特别注意,如2/4 得到是0而不是0.5,所以可以这样做float(2)/4得到正常的0.5,
而在PHP中却不存在这情况)
//取整除返回商的整数部分
4 // 3.0得到1.0
%取模返回除法的余数
8%3得到2。-25.5%2.25得到1.5
(在PHP中:-8%3 = -2 与 8%-3 = 2 )
<
把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)2 << 2得到8。——2按比特表示为10
>>右移
把一个数的比特向右移一定数目11 >> 1得到5。——11按比特表示为1011,向右移动1比特后得到101,即十进制的5。
&按位与
数的按位与5 & 3得到1。
|按位或
数的按位或5 | 3得到7。
^按位异或
数的按位异或5 ^ 3得到6
~按位翻转
x的按位翻转是-(x+1)~5得到6。
返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。5 < 3返回0(即False)而3 < 5返回1(即True)。比较可以被任意连接:3 < 5 < 7返回True。
>大于返回
x是否大于y5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。
<=小于等于
返回x是否小于等于yx = 3; y = 6; x <= y返回True。
>=大于等于
返回x是否大于等于yx = 4; y = 3; x >= y返回True。
==等于
比较对象是否相等x = 2; y = 2; x == y返回True。x = 'str'; y = 'stR'; x == y返回False。x = 'str'; y = 'str'; x == y返回True。
!=不等于
比较两个对象是否不相等x = 2; y = 3; x != y返回True。not布尔“非”如果x为True,返回False。如果x为False,它返回True。x = True; not y返回False。and布尔“与”如果x为False,x and y返回False,否则它返回y的计算值。
x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。
or布尔“或”
如果x是True,它返回True,否则它返回y的计算值。
x = True; y = False; x or y返回True。短路计算在这里也适用。
fc_lamp提醒你:1 Python的逻辑运算符里没有“!(非),&&(与),||(或)” 这三个表示符号(完全是英文上的表示)。
即 not,and,or
2 Python中的变量赋值操作不是一种存储操作。比如:a=5,这里仅是将创建并包含值5的新对象,用名称a来引用了而已。
再看关于Bool值
#coding:utf-8#True、任意非零数字、非空字符串、列表、元组或者字典都返回True#False、零、None、和空的列表、元组和字典都返回False#另外 is 运算符用于比较两个对象身份,type()函数则返回一个对象的类型,如list,dict,file,int#1和0的问题:我们知道python的数字类型有:bool,int,long,float,complex(复数)#而bool中的true和false就是分别映射了1和0,所以作值判断时:xx=1 if xx==True 是成立的。
s = 'asdfs'
ifs:print(s)else:print('not true')#输出 asdfs
s={}ifs:print(s)else:print('not true')#输出not true
s=0if s==False:print(s)else:print('not true')#输出0
s=1
if s==True:print(s)else:print('not true')#输出 1
if type(s) is bool: #严格意义上 数字类型中的bool型
print(s)else:print('not true')#输出not true
以上可看出1 在python中空的列表 ([]),tuple(()),字典({}),字符串(''),零(0),还有None对象,在逻辑判断中都为假,其他的情况都为真。()
对比PHP
{
}$a = newtest();if($a){echo 'new test() bool true
';
}$a = array();if($a){echo 'array() bool true
';
}$a = null;if($a){echo 'null bool true
';
}$a=false;if($a){echo 'false bool true
';
}$a=0;if($a){echo '0 bool true
';
}$a='';if($a)
{echo "'' bool true
";
}$a='0';if($a){echo "'0' bool true
";
}$a=0.0;if($a){echo "0.0 bool true
";
}$a='0.0';if($a){echo "'0.0' bool true
";
}
结果:
newtest()booltrue
'0.0'booltrue
从上可看出在PHP中:
布尔值 FALSE 本身、
整型值 0(零)、
浮点型值 0.0(零)、
空字符串,以及字符串 "0"、
不包括任何元素的数组、
不包括任何成员变量的对象(仅 PHP 4.0 适用,从例子中可看出空对象不再是FALSE)、
特殊类型 NULL(包括尚未赋值的变量)、
从没有任何标记(tags)的 XML 文档生成的 SimpleXML 对象
值都是 FALSE
2 is 运算符是比较对象地址,也就是说是否是同一对象。
3 == 运算符比较两对象是否相等,但它们不一定引用的是同一对象。
另外单独说说python的字符串运算符:
了解PHP的人知道,在PHP里字符串的连接运算符为(“.”),它返回其左右参数连接后的字符串。如:
$str = $str.'s99s';//在PHP里变量与字符串之间连接是通过点运算来实现连接的
echo $str;
但在python里,可能大家已从运算表里找到了,即 (“+”),但是与PHP不同的是两个对象相加,两个对象必须是同类型的,不同类型的两个对象是不能相加的。
要实现像上面PHP代码里的运算,必须保证两对象类型一致。如:print('=============python字符串运算符================')
numa= 3strs= 'This first'strs1= strs,numa #输出值为:('This first',3)
print(strs1)######################
#类型对象不匹配,无法正常运算
#strs2 = strs+numa
#print(strs2)
######################
strs3= strs+str(numa) #改变numa的类型,使其成为字符串,或者 strs += str(numa)
print(strs3) #输出为This first3
#另外:如果strs = '6',则可进行:strs3 = int(strs)+numa这样的运算,输出为9
python里的"列表解析"运算
>>>l=[2,4,6,8]
>>>newl=[i+1foriinl]
>>>newl
[3,5,7,9]
#在字典(dict)里使用'列表解析'
>>> d = {'a':1,'b':3,'f':6}
>>>newd=dict([(k,v+2)fork,vind.iteritems()])#先转成元组,再dict成字典
>>>newd
{'a':3,'b':5,'f':8}
#d.items()与d.iteritems()
>>>foriind.items():
printi
('a',1)
('b',3)
('f',6)
>>>fork,vind.iteritems():
printk,v
a1
b3
f6
python里的"三元"运算符
python里没有类似"xx ? xx : xx"这样的三元运算符,可用:
charset = 'utf8' if 'charset' not in param else param['charset'];
这种方式来代替。
参看:http://chroya.iteye.com/blog/726479
Python的常见的类型转换
函数 描述
int(x [,base ]) #将x转换为一个整数
long(x [,base ]) #将x转换为一个长整数
float(x ) #将x转换到一个浮点数
complex(real [,imag ]) #创建一个复数
str(x ) #将对象 x 转换为字符串
repr(x ) #将对象 x 转换为表达式字符串
eval(str ) #用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) #将序列 s 转换为一个元组
list(s ) #将序列 s 转换为一个列表
chr(x ) #将一个整数转换为一个字符
unichr(x ) #将一个整数转换为Unicode字符
ord(x ) #将一个字符转换为它的整数值
hex(x ) #将一个整数转换为一个十六进制字符串
oct(x ) #将一个整数转换为一个八进制字符串
编码问题
需要注意的是,中文在python里的存储方式是以编码后的形态存放的,
所以要正常呈现中文应格式化形式输出,如:
print('错误',) 输出:'\xb4\xed\xce\xf3'
与
print('错误') 输出:错误
多一个“,”号行为就不一样了。
上面一个是元组输出,而后面一个是以字符串形式输出。
另注:
1 dir()函数 :
你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。
当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。
2 del
用于删除一个变量,这类似于PHP里的unset()
3 python的Bool值:True ,False
isinstance('test',str) 类型检测函数
python表达式323的值为_转: Python 运算符与用法相关推荐
- python表达式352的值为_表达式 3 and 5 的值为
[判断题]Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型. [填空题]转义字符'\n'的含义是 [判断题]Python是一种跨平台.开源.免费的高级动态编程语言. [填空 ...
- python表达式3or5的值为_表达式 3 or 5 的值为
[填空题]表达式 3 or 5 的值为 [判断题]Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型. [填空题]表达式 3 and 5 的值为 [填空题]已知a = [1, ...
- python表达式3or5的值为_表达式 3 or 5 的值为________。(5.0分)_学小易找答案
[单选题]已知 x = 3,那么执行语句 x += 6 之后,x的值为_______________.(5.0分) [判断题]加法运算符可以用来连接字符串并生成新字符串.(5.0分) [单选题]缝扎止 ...
- python字典返回键值对_从Python字典对象中提取键值对的子集?
好吧,这件事让我困扰了几次,所以谢谢你Jayesh的提问. 上面的答案看起来像任何一个好的解决方案,但如果你在你的代码中使用这个,那么包装功能恕我直言是有意义的. 此外,这里有两种可能的用例:一种是您 ...
- python 3 or 5的值_python表达式3or5的值为_表达式 3 or 5 的值为
[填空题]表达式 3 or 5 的值为 [判断题]Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型. [填空题]表达式 3 and 5 的值为 [填空题]已知a = [1, ...
- python表达式0x66的值_名侦探柯南与化学探秘超星尔雅最新答案
主谓项分别相同而质和量均不相同的两个性质命题之间的关系是________关系. 下列关于均匀各向同性介质中弹性波表述正确的是 以下哪种物质不可以用于测定地球年龄? 对于受力不大.工作温度低于100°C ...
- python表达式3or5的值为_Python表达式10+5%3-True+False的值为____。
[单选题]现代信息技术的组成有通信技术.计算机技术.传感技术和( ) [简答题]Please read the article of China Daily and answer the questi ...
- python3 循环写入一对多键值对_为什么Python 3.6以后字典有序并且效率更高?
在Python 3.5(含)以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插入字典,但是当你打印字典的Keys列表时,你会发现B可能在A的前面. 但是从Python 3.6开始,字典是变成 ...
- python列表中的字典如何添加键值对_在Python中将键值对添加到字典中
Python字典是键值对的无序集合.在本教程中,我们将看到如何将新的键值对添加到已经定义的字典中.以下是我们可以使用的两种方法. 将新键分配为下标 我们通过使用新键作为下标并为其分配值来向字典添加新元 ...
最新文章
- AttributeError: ‘FPDF‘ object has no attribute ‘unifontsubset‘
- 大脑进化追不上社会文化:化石和脱氧核糖核酸证明人类大脑进化比社会慢
- poj 3660 Cow Contest
- pandas 或者字段值_Pandas 用法总结
- vc++ 利用jmail组件收发邮件
- Spark _22 _创建DataFrame的几种方式(一)
- Spring Boot 自动配置的 “魔法” 是如何实现的?
- 为应用程序池**提供服务的进程意外终止。进程ID是**。进程退出代码是'0x80'
- java代理机制简单实现
- autobank渗流分析计算教程_仿真百科 | 多孔介质渗流现象
- 关于使用IDEA导入项目后依赖报错的解决方案
- 2018蓝桥C++B:煤球数目;生日蜡烛(枚举年龄和枚举次数)
- AWVS12 安装教程(详细附图)
- 如何做一个淘宝客(前期为自己省钱)
- C#——NPOI对Excel的操作、导入导出时异常处理(二)
- es的range过滤_ElasticSearch 常用的查询过滤语句
- 十大免费响应式Joomla主题
- android开发发送短信,Android开发入门之发送短信
- 基于Android的手机点名签到学生请假考勤系统
- 塔望 · ​食业​研究 |食品品牌能从植物奶第一股OATLY破圈中学到什么
热门文章
- 你知道linux的复制命令吗?cp
- Codeforces Round #618 (Div. 2)C、Anu Has a Function
- ws发布web servlce
- 阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!
- TAG-9F10 发卡行相关数据(转)
- 判断linux标准输入法,[fcitx]linux下的中文输入法(非准确)
- Linux 中如何开启端口
- android+汽车零部件企业的供应商质量管理体系有待完善,汽车零部件采购质量管理的相关探讨论文...
- 成功领导力的10大关键
- Excel程序错误-误将1900年判断为闰年