我不确定在什么标题下完全考虑这个问题,编码高尔夫看起来是合适的,如果有点不明确.
我对python有一点了解,但看起来很难"阅读".我看到它的方式,理解可能会完成与以下代码相同:
for i in range(10): if i == 9: print('i equals 9')
Run Code Online (Sandbox Code Playgroud)
这段代码比理解目前的工作方式更容易阅读,但我注意到你不能在一行中有两个':'......这也带给我了...
有什么方法可以让以下示例进入ONE LINE.
try:
if sam[0] != 'harry':
print('hello', sam)
except:
pass
Run Code Online (Sandbox Code Playgroud)
像这样的东西会很棒:
try: if sam[0] != 'harry': print('hellp', sam)
except:pass
Run Code Online (Sandbox Code Playgroud)
但是我又遇到了相互冲突的':'我也很想知道是否有办法运行尝试(或类似的东西),除非,我需要放置除了之外似乎完全没有意义:传入那里.这是一条浪费的线.
谢谢你输入......这里有一个笑脸:D
我是python的新手.只知道什么是python.我创建了以下代码(在python IDLE中):
print "Hi Welcome to Python test page\n";
print "Now it will show a calculation";
print "30+2="; print 30+2;
Run Code Online (Sandbox Code Playgroud)
然后我将此页面保存在我的localhost中作为index.py
我使用http://localhost/index.py运行脚本
但它没有显示执行的python脚本.相反,它将上述代码显示为HTML.问题出在哪儿?请有人告诉我如何在网页上运行python?
我在线获得了一个函数来帮助我完成当前的项目,它在某些行上有分号.我想知道为什么?是打破这个功能吗?
def containsAny(self, strings=[]):
alphabet = 'abcdefghijklmnopqrstuvwxyz0123456789'
for string in strings:
for char in string:
if char in alphabet: return 1;
return 0;
Run Code Online (Sandbox Code Playgroud)
我上网的功能很少修改:
for string in strings:
for char in string:
if char in alphabet: return 1;
Run Code Online (Sandbox Code Playgroud)
这是^说以下?
if char in alphabet:
return 1
break
Run Code Online (Sandbox Code Playgroud) Python是一种"以空格分隔"的语言.然而,使用分号被允许的.例如,以下工作但不赞成:
print("Hello!");
print("This is valid");
Run Code Online (Sandbox Code Playgroud)
我已经使用python好几年了,而且我用过分号的唯一一次是用python生成一次性命令行脚本:
python -c "import inspect, mymodule; print(inspect.getfile(mymodule))"
Run Code Online (Sandbox Code Playgroud)
或在SO的评论中添加代码(即"你应该尝试import os; print os.path.join(a,b)")
我在这个答案中也注意到一个类似的问题,分号也可以用来制作一个行if块,如
if x < y < z: print(x); print(y); print(z)
Run Code Online (Sandbox Code Playgroud)
这对我给出的两个用法示例(命令行脚本和注释)很方便.
以上示例用于以段落形式传递代码或制作简短的代码段,但不是我在生产代码库中所期望的.
这是我的问题:在python中,是否有理由在生产代码中使用分号?我想他们仅仅因为我引用的原因而被添加到语言中,但是Guido总是有可能考虑到更为宏伟的计划.没有意见; 我正在寻找分号有用的现有代码中的示例,或者来自python docs或Guido关于分号使用的某种语句.
这是我的第一个Python程序,一个从Unix八进制代码转换为文件权限到符号形式的小实用程序:
s=raw_input("Octal? ");
digits=[int(s[0]),int(s[1]),int(s[2])];
lookup=['','x','w','wx','r','rx','rw','rwx'];
uout='u='+lookup[digits[0]];
gout='g='+lookup[digits[1]];
oout='o='+lookup[digits[2]];
print(uout+','+gout+','+oout);
Run Code Online (Sandbox Code Playgroud)
有没有办法缩短利用某种"列表处理"的代码?例如,要将int函数一次性应用于所有三个字符,s而不必进行显式索引.并立即索引lookup使用整个列表digits?
我在 python3 中使用带有请求包的漂亮汤来进行网页抓取。这是我的代码。
import csv
from datetime import datetime
import requests
import csv
from datetime import datetime
from bs4 import BeautifulSoup
quote_page = ['http://10.69.161.179:8080'];
data = []
page = requests.get(quote_page)
soup = BeautifulSoup(page.content,'html.parser')
name_box = soup.find('div', attrs={'class':'caption span10'})
name= name_box.text.strip() #strip() is used to remove starting and ending
print(name);
data.append(name)
with open('sample.csv', 'a') as csv_file:
writer = csv.writer(csv_file)
writer.writerow([name])
print ("Success");
Run Code Online (Sandbox Code Playgroud)
当我执行上述代码时,出现以下错误。
Traceback (most recent call last):
File "first_try.py", line 21, in <module>
page = requests.get(quote_page);
File "C:\Python\lib\site-packages\requests-2.13.0-py3.6.egg\requests\api.py", line 70, …Run Code Online (Sandbox Code Playgroud)