几年前引用Alan Kay的话说,在过去的20年中,软件中只有三件新东西(实际上是PC的寿命).其中一个是Spreadsheets.
有人还记得其他两个吗?
Alan Kay是谁?(有些人可能会问.)他在施乐公园的工作可以说比其他任何影响更能塑造我们当前的软件范式.
练习Python很难,练习10.2:
tabby_cat = "\tI'm tabbed in."
persian_cat = "I'm split\non a line."
backslash_cat = "I'm \\ a \\ cat."
fat_cat = """
I'll do a list:
\t* Cat food
\t* Fishies
\t* Catnip\n\t* Grass
"""
print tabby_cat
print persian_cat
print backslash_cat
print fat_cat
Run Code Online (Sandbox Code Playgroud)
2:使用'''(三重单引号)代替.你能明白为什么你可以用它而不是"""吗?
我不明白为什么我会用'''而不是""".它给了我相同的输出.有人可以解释一下为什么我会使用三重单引号而不是三重双引号?他们之间有什么区别?
我不太确定这是否可行,所以我转向你.
我想找到一个正则表达式,它将挑选掉所有引号集之外的逗号.
例如:
'foo' => 'bar',
'foofoo' => 'bar,bar'
Run Code Online (Sandbox Code Playgroud)
这将在第1行中选出单个逗号 'bar',
我真的不关心单引号和双引号.
有没有人有任何想法?我觉得这应该可以用readaheads,但我的正则表达式太弱了.
我在MacOSX Lion上使用Eclipse Juno并且有一个让我疯狂的问题(在Xcode和Appcode中一切正常).我经常打印一个引号/撇号并移动插入符号.但是在这个Mac版本的Eclipse中,我键入的引号用橙色标记突出显示(看起来像Mac智能引号功能),当我移动插入符号时 - 引用消失!我试过了
defaults write NSGlobalDomain AutomaticQuoteSubstitutionEnabled -bool false
Run Code Online (Sandbox Code Playgroud)
要全局禁用智能qotes,重新启动计算机,但这没有帮助.
此外,我试图在Eclipse首选项中找到与"引用","智能","更正"相关的内容,但没有运气.
试图禁用'智能插入模式' - 没用.
尝试将Java->打字 - >自动关闭 - >字符串设置为"打开" - 但是现在当我在打印引号后移动插入符号时,eclipse将其翻倍而不是像之前那样删除.也烦人.为什么在其他程序中引用处理按预期工作但我不能在Eclipse中以相同的方式工作?
顺便说一句,当我最近按下引号然后我得到'ä'符号.所以我认为这与自动更正有关.但即使我禁用语言和文本 - >自动替换eclipse将"+'a'替换为'ä'.如何禁用此行为?
我知道在SO上有一些关于这个的问题,但我找不到我想要的东西.
我正在使用pyyaml来读取(.load()).yml文件,修改或添加一个键,然后.dump()再次写入它.问题是我想在转储后保留文件格式,但它会改变.
例如,我编辑键en.test.index.few说"Bye",而不是"Hello"
蟒蛇:
with open(path, 'r', encoding = "utf-8") as yaml_file:
self.dict = pyyaml.load(yaml_file)
Run Code Online (Sandbox Code Playgroud)
然后,更改密钥:
with open(path, 'w', encoding = "utf-8") as yaml_file:
dump = pyyaml.dump(self.dict, default_flow_style = False, allow_unicode = True, encoding = None)
yaml_file.write( dump )
Run Code Online (Sandbox Code Playgroud)
YAML:
之前:
en:
test:
new: "Bye"
index:
few: "Hello"
anothertest: "Something"
Run Code Online (Sandbox Code Playgroud)
后:
en:
anothertest: Something
test:
index:
few: Hello
new: Bye
Run Code Online (Sandbox Code Playgroud)
有没有办法保持相同的格式?,例如qoutes和order.我使用了错误的工具吗?
我知道也许原始文件不完全正确,但我无法控制它(这是一个Ruby on Rails i18n文件).
非常感谢你.
我想在sql server 2005数据库中将单引号Eg john的文本插入到表中
似乎在bash中建议的间接变量设置方法是使用eval:
var=x; val=foo
eval $var=$val
echo $x # --> foo
Run Code Online (Sandbox Code Playgroud)
问题是通常的问题eval:
var=x; val=1$'\n'pwd
eval $var=$val # bad output here
Run Code Online (Sandbox Code Playgroud)
(并且因为在很多地方推荐,我想知道有多少脚本因此而易受攻击...)
在任何情况下,使用(转义)引号的明显解决方案并不真正起作用:
var=x; val=1\"$'\n'pwd\"
eval $var=\"$val\" # fail with the above
Run Code Online (Sandbox Code Playgroud)
问题是bash有(with ${!foo})烘焙的间接变量引用,但是我没有看到任何这种方式来做间接赋值 - 有没有理智的方法来做到这一点?
为了记录,我找到了解决方案,但这不是我认为"理智"的东西......:
eval "$var='"${val//\'/\'\"\'\"\'}"'"
Run Code Online (Sandbox Code Playgroud) 在Perl中使用哈希时引用键是一个好主意吗?
我正在研究一个非常大的遗留Perl代码库,并试图采用Damian Conway在Perl最佳实践中提出的许多最佳实践.我知道最佳实践对于程序员来说总是一个敏感的话题,但希望我能在没有开始火焰战争的情况下得到一些好的答案.我也知道这可能是很多人不会争论的原因,因为它是一个小问题,但我正试图在我通过这个代码库工作时得到一个可靠的指南列表.
在Damian Conway的Perl Best Practices一书中,有一个例子展示了对齐如何帮助一段代码的易读性,但它没有提及(我可以找到书中的任何地方)引用哈希键的任何内容.
$ident{ name } = standardize_name($name);
$ident{ age } = time - $birth_date;
$ident{ status } = 'active';
Run Code Online (Sandbox Code Playgroud)
这不是更好用引号来写,以强调你没有使用裸言?
$ident{ 'name' } = standardize_name($name);
$ident{ 'age' } = time - $birth_date;
$ident{ 'status' } = 'active';
Run Code Online (Sandbox Code Playgroud) 所以我现在正在学习python,并且正在创建一个函数.使用'和'之间有什么区别.我将在下面创建一个示例函数来举例说明我的问题.
def question(variable):
print variable
Run Code Online (Sandbox Code Playgroud)
现在打电话有什么区别
question("hello")
Run Code Online (Sandbox Code Playgroud)
和
question('hello')
Run Code Online (Sandbox Code Playgroud)
他们都打印你好,但为什么我可以同时使用?是因为python是灵活的吗?我很困惑,因为'通常用于字符,因为"是用于java的字符串吗?
quotes ×10
python ×3
regex ×2
bash ×1
diacritics ×1
eval ×1
hash ×1
history ×1
innovation ×1
macos ×1
perl ×1
php ×1
python-3.x ×1
pyyaml ×1
quotations ×1
sql ×1
yaml ×1