是否存在Python等效于Ruby ||=运算符("如果变量未设置则设置变量")?
Ruby中的示例:
variable_not_set ||= 'bla bla'
variable_not_set == 'bla bla'
variable_set = 'pi pi'
variable_set ||= 'bla bla'
variable_set == 'pi pi'
Run Code Online (Sandbox Code Playgroud) 在Python中,if语句中的变量范围是否在if语句之外可见?(来自Java背景,所以发现这有点奇怪)
在下面的例子中,name首先在if-block中定义,但变量在if-block之外也是可见的.我原以为会发生错误但是'joe'会打印出来.
if 1==1:
name = 'joe'
print(name)
Run Code Online (Sandbox Code Playgroud) 如果打开它成功,我正在寻找创建和写入文件的pythonic方法,否则返回错误(例如,权限被拒绝).
我在这里读到什么是条件变量初始化的pythonic方式?.虽然我不确定这种方法是否有效,因为我试图测试它.
os.write(fd,String) if (fd = os.open(str("/var/www/file.js"),os.O_RDWR)) else return HttpResponse("error on write")
Run Code Online (Sandbox Code Playgroud)
它应该是一个单行.
当我这样做时,我得到一个语法错误:
os.write(fd,String) if (fd = os.open(str("/var/www/file.js"),os.O_RDWR)) else return HttpResponse("error on write")
^
SyntaxError: invalid syntax `
Run Code Online (Sandbox Code Playgroud)
是否有更多正确的pythonic单线或双线可以实现这一目标?