逻辑与都为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不好用!