python运算符

Python015

python运算符,第1张

空串、None、0还有一些表示空性值的会转换为False,其余全部都是True.

逻辑与都为True时为True,如果有一个False 就是False

a=True and True 得True

b=True and False 得False

c=False and False 得True

逻辑或

a=True or True 得True

b=True or False 得True

c=False or False 得False

与运算规则是找False,如果第一个值是False 那么不瞅第二个值,直接输出第一个值,如果第一个值是True,那么直接输出第二个值。

a=1 and 2 得2

a=0 and 2 得0

a=None and 0 得None

a=25 and 254 得254

a=0 and 34 得0

或运算规则是找True,如果第一个值是True 那么不瞧第二个值,直接输出第一个值,如果第一个是值是False,那么直接输出第二个值

a=1 or 2 得 1

a= False or 1 得 1

a= 0 or None 得None

根椐查表判断运算符优先级,and 优先级高于or

r=34 and 89 or 63 得 89

r=0 and 89 or 63 得63

r=None and 89 or 63 得63

r=78 and False or 63 得63

语法:语句1 if 条件表达式 else 语句2

a=25

b=14

c=a if a>b else b

print(c)

25

name='521 {}嫁给我好吗?'.format('王奕菲')

name1='521 %s嫁给我好吗?'%'王奕菲'

a='王奕菲'

name2=f'521 {a}嫁给我好吗?'

b='521'

c='嫁给我好吗?'

name3=b+' '+a+c

print(name)

print(name1)

print(name2)

print(name3)

a=54

b=23

c=87

d = a if a>b else b

e = c if c>d else d

print(e)

是。

x-6只要大于五,在python中就是true,只要满足条件就是ture。

为False的几种情况:

1.0为False,其他所有数值皆为True

2.空串("")为False,其他所有字符串皆为True

3.空list([])为False,其他所有list皆为True

4.空tuple(())为False,其他所有tuple皆为True

5.空dict({})为False,其他所有dcit皆为True

sys.path是一个list,存放了当前所有import搜索的路径。

绝大多数情况下,首个元素是"",即空串,也就是说,当你import re的时候,首先搜索的是"re",这时候就会直接在当前目录搜索到re。如下图:

解决方法也有不止一个:

1,在当前目录创建一个子文件夹,例如mine,在mine里放一个__init__.py,不用有代码,空文件即可。使用的时候:import mine.re

2,在sys.path上做手脚,把第一个空串挪到最后面去:

import sys

sys.path = sys.path[1:]

sys.path.append("")

这样当前目录会跑到最后面去,从而达到最后搜索的目的。

不过这很可能有副作用,即你创建的模块,不能和前面搜索路径里的任何文件重名,否则会无法import你的模块。

这也是为什么默认把当前路径放在最前搜索的原因,因为是用户自己写的,显然优先级最高。

尽管就你的问题作出分析和提出一些可能的解决办法,但是严重不建议在实际工程起和系统模块重名的文件名,这是自找麻烦。

当然,研究探讨它的实现原理,始终是值得肯定的。

最后强调一下,当你在当前文件夹创建了一个sys.py时,方法2不好用!