python中语法盲区(1)

python中语法盲区(1)

1.请问 Python 的 and 操作符 和 C 语言的 && 操作符 有何不同?

关于逻辑and和or,python的用法和C的用法主要异同点如下:
1、当两个操作数均为逻辑值时,与我们通常理解的逻辑运算一致;
2、当第一个操作数为逻辑值,第二个操作数为其他类型时,执行以下规则:
a and b:在a为false的时候,返回a,否则返回b。
a or b: 在a为true的时候,返回a,否则返回b。
总之,and与or返回的不仅有true/false的语义,还返回了它的值。

2.Python3 中,一行可以书写多个语句,一个语句可以分成多行书写吗?

Python3 中,一行可以书写多个语句语句之间用分号隔开即可
print(‘I love you’);print(‘very much!’)
Python3 中,一个语句可以分成多行书写一行过长的语句可以使用反斜杠或者括号分解成几行

 3 > 4 and \
1 < 2 
( 3 > 4
and 1 < 2 ) 

3.python3中的逻辑短路问题

对python而言
其一, 在不加括号时候, 优先级:not大于and大于or
其二, x or y 的值只可能是x或y. x为真就是x, x为假就是y
其三, x and y 的值只可能是x或y. x为真就是y, x为假就是x
显然,
对于, 1 or 5 and 4: 先算5 and 4, 5为真, 值为4. 再算1 or 4, 1 为真,值为1
对于, (1 or 5) and 4: 先算1 or 5, 1为真, 值为1. 再算1 and 4, 1为真,值为4

4.python中int() 按照“四舍五入”的方式取整

使用 int() 将小数转换为整数,小数取整会采用比较暴力的截断方式,即向下取整。
(注:5.5向上取整为6,向下取整为5)
正常情况下 int(5.5) 结果为5
如果想要让其按照人类的思维“四舍五入”
5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5
5.6 “四舍五入”结果为:6,int(5.6+0.5) == 6

5.python-isinstance和type的用法和区别

isinstance(object,type-or-tuple-or-class) -> bool
type(object)–类型
type和isinstance都可以判断变量是否属于某个内建类型
type主要用于获取未知变量的类型
isinstance主要用于判断A类是否继承于B类
没有谁比谁更好,只有谁更适合

6.Python3 可以给变量命名中文名吗?

在每本Python书籍中,Python中变量的命名要遵循以下规则:
1.可以使用数字、字母、下划线
2…不能以数字开头为什么可以用中文作为变量没报错?答案就是字符编码因为Python3解释器的默认编码已经从Python2的ASCII编码改为UTF-8编码,UTF-8编码支持任何Unicode字符串的写入了,当然里面就包含了中文。

7.一些字符串函数

s 为字符串
s.isalnum() 所有字符都是数字或者字母,为真返回 Ture ,否则返回 False
s.isalpha() 所有字符都是字母,为真返回 Ture ,否则返回 False
s.isdigit() 所有字符都是数字,为真返回 Ture ,否则返回 False
s.islower() 所有字符都是小写,为真返回 Ture ,否则返回 False
s.isupper() 所有字符都是大写,为真返回 Ture ,否则返回 False
s.istitle() 所有单词都是首字母大写, 为真返回 Ture , 否则返回 False
s.isspace() 所有字符都是空白字符,为真返回 Ture ,否则返回 False

8.assert 的作用是什么?

assert 这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出 AssertionError 的异常。
什么情况下我们会需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其让错误的条件导致程序今后莫名其妙地崩溃,不如在错误条件出现的那一瞬间我们实现“自爆”。
一般来说我们可以用 Ta 再程序中置入检查点, 当需要确保程序中的某个条件一定为真才能让程序正常工作的话, assert 关键字就非常有用了。

9.假设有 x = 1 , y = 2 , z = 3 ,请问如何快速将三个变量的值互相交换?

>>>x, y, z = z, y, x

10.请问 range(10) 生成哪些数?

会生成 range(0, 10) , list(range(0, 10)) 转换成列表是: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

哈姆雷特,请继续加油!


版权声明:本文为weixin_44502896原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。