Python中print语句触发SyntaxError语法错误的求助
解决Python语法错误:SyntaxError: invalid syntax
看起来你遇到的问题根源其实不是print (result)本身,而是你的所有代码都挤在同一行,Python解析器无法正确区分独立的语句,才抛出了语法错误(虽然报错指向print,但这只是解析器在那一行最后识别到问题而已)。
问题分析
Python是一门依赖换行(或分号)来分隔语句的语言,你把from sklearn import tree、变量赋值、模型训练、预测、打印这些操作全部写在一行,没有任何分隔,解析器根本没法正确识别每个独立的代码逻辑,自然会报错。
修正后的代码
把每个语句单独换行,就能解决这个问题:
from sklearn import tree features = [[140,0],[130,1],[150,0],[170,0]] labels = [0,0,1,1] clf = tree.DecisionTreeClassifier() clf = clf.fit(features,labels) result = clf.predict([[160,0]]) print(result) # 规范写法建议去掉括号和参数间的空格,不过带空格也能运行
额外说明
顺便提一句:print (result)里的空格在Python3中其实不会直接触发语法错误,但按照PEP8编码规范,函数调用时括号和参数之间不应该加空格,所以更推荐print(result)的写法。不过你的核心问题还是代码没有正确换行导致的解析失败。
内容的提问来源于stack exchange,提问作者Umair Iftikhar
相关产品推荐
相关产品推荐

