我对导致这种情况的思维过程感兴趣.对我来说,一个相对新手,似乎阻碍了,因为它阻止了列表处理的"链接"(例如mylist.reverse().append('a string')[:someLimit]).我想可能是"那些人的力量"决定列表理解是一个更好的范例(一个有效的观点),所以不想鼓励其他方法 - 但是这似乎有悖常理,以防止一种直观的方法,即使更好存在替代品.
请注意,我不是在抱怨(我敢肯定有是一个合理的理由,我在它是什么只是感兴趣!),也不是寻找一个解决方案(意见在这里非常具有启发性) -只是寻找一些情况下,并深入理解语言的设计过程.
我刚刚遇到这个问题,在谷歌的首页上找不到合理的答案。它类似于2011 年提出的这个问题,但对于较新版本的 Python,会导致不同的错误消息。
是什么导致这些TypeErrors?
import datetime
my_date = datetime.datetime.date(2021, 3, 2)
Run Code Online (Sandbox Code Playgroud)
结果报错:
TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'int' object
Run Code Online (Sandbox Code Playgroud)
同样,用字符串替换整数也会产生相同的错误:
import datetime
my_date = datetime.datetime.date("2021", "3", "2")
Run Code Online (Sandbox Code Playgroud)
给出:
TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'str' object
Run Code Online (Sandbox Code Playgroud)
使用列表会产生相同的错误:
import datetime
my_date = datetime.datetime.date([2021, 3, 2])
Run Code Online (Sandbox Code Playgroud)
结果是:
TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'list' object
Run Code Online (Sandbox Code Playgroud)
同样,使用from datetime import datetime和datetime.date …
抱歉没有找到任何其他解决方法,所以我创建了一个新问题。我正在尝试运行一个将当前小时、分钟和秒打印到屏幕上的代码。我用来执行此操作的代码是:
def time():
import datetime
import time
time.sleep(1)
nowTime = datetime.now()
print ('Right now it's %s hours, %s minutes and %s seconds.' % (nowTime.hour,nowTime.minute,nowTime.second))
time.sleep(5)
Run Code Online (Sandbox Code Playgroud)
当这段代码尝试执行时,我收到以下错误:
Run Code Online (Sandbox Code Playgroud)Traceback (most recent call last): File "/Users/Teolicht/Desktop/Python/testy.py", line 219, in <module> start() File "/Users/Teolicht/Desktop/Python/testy.py", line 18, in start questions() File "/Users/Teolicht/Desktop/Python/testy.py", line 34, in questions day() File "/Users/Teolicht/Desktop/Python/testy.py", line 52, in day time() TypeError: 'module' object is not callable
start(),questions()以及day()程序在执行之前执行的一些其他功能time()。如果我尝试time()直接执行,它会起作用!所以,这是从time()函数开始到结束的整个代码:
from datetime import …Run Code Online (Sandbox Code Playgroud) 当我运行我的Python Django应用程序时,我收到一个错误:
'str'对象不可调用
我在这里尝试了解决方案:TypeError:'str'对象不可调用(Python),但它们对我不起作用.我正在尝试运行Django书籍样本:
view.py:
# Create your views here.
from django.http import HttpResponse
import datetime
def current_time(request):
now = datetime.datetime.now()
html = "<html><head></head><body>%s</body></html>" % str(now)
return HttpResponse(html)
def hello(request,name):
return HttpResponse("Hello django")
def what(request):
return HttpResponse("what's the problem django?")
Run Code Online (Sandbox Code Playgroud)
urls.py:
from django.conf.urls import patterns, include, url
from hello_django.views import current_time,hello,what
urlpatterns = patterns('',
url(r'^time/$','current_time'),
url(r'^what/$','what'),
url(r'^hello/([a-zA-Z0-9]+)','hello'),
)
Run Code Online (Sandbox Code Playgroud)
这是我正在尝试的网址:http://127.0.0.1:8000/what/.
堆栈跟踪:
TypeError at /what/
'str' object is not callable
Request Method: GET
Request URL: http://127.0.0.1:8000/what/
Django Version: …Run Code Online (Sandbox Code Playgroud) 我知道我只能连接相似类型的东西,但我真的很困惑为什么以下是不同类型的.
n = 100
table = [[0]*n for x in range(n)]
array1 = [[0] for i in range(n)]
mini = array1[1] + table[1][1]
Run Code Online (Sandbox Code Playgroud)
我试图使mini存储整数,它是array1 [1]和table [1] [1]的值的结果.但我得到这个错误:
TypeError: can only concatenate list (not "float") to list
Run Code Online (Sandbox Code Playgroud)
必须有一些我想念的简单.当我只打印表[1] [1]时,我得到0,那么为什么表[1] [1]不被视为0(即0 + 0)?
num_trades = int(input("Number of trades for today? "))
for i in range(1, num_trades + 1):
print()
action = input("Trade number", i, "(buy/sell)? ")
num_shares = int(input("Number of shares to buy? "))
Run Code Online (Sandbox Code Playgroud)
我正在TypeError上线,"action = input("Trade number", i, "(buy/sell)? ")"
此错误消息显示" TypeError: input expected at most 1 arguments, got 3"
不知道它意味着什么,不知道如何纠正.救命
谢谢
我目前正在尝试从post请求响应中解析一些数据并且我不断收到此错误:"TypeError:list indices必须是整数或切片,而不是str"
Python代码
import requests
import json
count = 0
params = {'var1':'40', 'value':'143', 'itm':'1', 'param':'1'}
req = 'https://www.api.com/api/search'
data = requests.post(req, data = params).json()
print (data['result']['results']['name'])
Run Code Online (Sandbox Code Playgroud)
JSON响应
{
"result":{
"count":1,
"totalCount":1,
"offset":0,
"queryTime":232,
"results":[
{
"rating":"4.0",
"productId":{
"upc":"143",
"ItemId":"143",
"productId":"143-prd"
},
"name":"Product",
"catagory":{
"name":"",
"CataId":1
},
"images":{
"thumbnailUrl":"http://api.com/img/static/product-image-50-50.png",
"largeUrl":"http://api.com/img/static/product-image-500-500.png"
},
"price":{
"price":13,
"isRealTime":true,
"currencyUnit":"USD"
},
"location":{
"unit":[],
"detailed":[]
},
"inventory":{
"quantity":1,
"status":"In Stock",
"isRealTime":true
},
"ratings":{
"rating":"3.1875",
"ratingUrl":"http://api.com/3_1875.gif"
},
"reviews":{
"reviewCount":"2"
},
"isItem":true,
"lUrl":"/l/Product-Name"
}
],
"performance":{
"enrichment":{
} …Run Code Online (Sandbox Code Playgroud)