GVKun编程网logo

为什么在Python 2.7中自愿使用印刷括号?(python为什么要加引号)

14

在这篇文章中,我们将带领您了解为什么在Python2.7中自愿使用印刷括号?的全貌,包括python为什么要加引号的相关情况。同时,我们还将为您介绍有关importpyttsx在python2.7中工

在这篇文章中,我们将带领您了解为什么在Python 2.7中自愿使用印刷括号?的全貌,包括python为什么要加引号的相关情况。同时,我们还将为您介绍有关import pyttsx在python 2.7中工作,但不在python3中、python 2.7使用腾讯云的OCR-通用印刷体识别、Python-为什么在Python中append()总是返回None?、scala – 为什么在括号上使用花括号?的知识,以帮助您更好地理解这个主题。

本文目录一览:

为什么在Python 2.7中自愿使用印刷括号?(python为什么要加引号)

为什么在Python 2.7中自愿使用印刷括号?(python为什么要加引号)

在Python 2.7中,以下两者将执行相同的操作

print("Hello,World!") # Prints "Hello,World!"

print "Hello,World!" # Prints "Hello,World!"

但是以下内容不会

print("Hello,","World!") # Prints the tuple: ("Hello,"World!")

print "Hello,"World!" # Prints the words "Hello,World!"

在Python 3.x中,圆括号print是强制性的,本质上使其成为一个函数,但是在2.7中,两者都可以使用不同的结果。我print在Python
2.7中还应该了解什么?

import pyttsx在python 2.7中工作,但不在python3中

import pyttsx在python 2.7中工作,但不在python3中

问题:导入pyttsx时为什么 python3无法找到引擎模块?

细节:

我在Raspbian Wheezy的树莓派上做这个

在python 2.7下,以下工作:

>>> import pyttsx

在python3下,会发生以下情况:

>>> import pyttsx
Traceback (etc...)
 File "<stdin>",line 1,in <module>
 File "/usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg/pyttsx/__init__.py",line 18,in <module>
ImportError: No module named engine

我安装并使用了sudo pip install pyttsx

我已经导入了sys

sys.path包含这个……

>>> print (sys.path) 
['','/usr/local/lib/python3.2/dist-packages/setuptools-5.4.1-py3.2.egg','/usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg','/usr/lib/python3.2','usr/lib/python3.2/plat-linux2','/usr/lib/python3.2/lib-dynload','/usr/local/lib/python3.2/dist-packages','/usr/lib/python3/dist-packages']

ls /usr/local/lib/python3.2/dist-packages导致…

easy-install.pth pyttsx-1.1-py3.2.egg setuptools-5.4.1-py3.2.egg setuptools.pth

unzip -t /usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg显示….

pyttsx/__init__.py  OK
pyttsx/voice.py   OK
pyttsx/engine.py  OK
(etc...)
No errors detected in compressed data of pyttsx-1.1-py3.2.egg

谢谢你的帮助!

解决方法

我相信你在寻找图书馆:

pyttsx3

这个python3兼容版本现在打包在pypi中,对python2和python3都很好用,据我测试过,它没有给出任何错误.

只需使用:

pip install pyttsx3

用法:

import pyttsx3
engine = pyttsx3.init()
engine.say("I am talking Now ");
engine.setProperty('rate',100)  
engine.runAndWait();

python 2.7使用腾讯云的OCR-通用印刷体识别

python 2.7使用腾讯云的OCR-通用印刷体识别

由于公司需要识别发票信息并录入到公司内部系统,故使用了腾讯云的OCR-通用印刷体识别

腾讯云的通用印刷体识别是1000/月的免费次数,对于需求不高的发票识别是比较友好的。

以下是接口链接

https://cloud.tencent.com/document/product/866/17600

以下是参考链接

https://www.cnblogs.com/d-l-k/p/8758555.html

以下为我的项目架构

以下为正文

#!/usr/bin/python2.7
# _*_ coding: utf-8 _*_

"""
@Author: MarkLiu
"""

import requests
import hmac
import hashlib
import base64
import time
import random
import re

appid = "" # https://console.cloud.tencent.com/cam/capi 中的APPID
bucket = "" # 随意写一个就好
secret_id = "" # https://console.cloud.tencent.com/cam/capi 中的SecretId
secret_key = "" # https://console.cloud.tencent.com/cam/capi 中的SecretKey
expired = time.time() + 2592000
onceExpired = 0
current = time.time()
rdm = ''''.join(random.choice("0123456789") for i in range(10))
userid = "0"
fileid = "tencentyunSignTest"

info = "a=" + appid + "&b=" + bucket + "&k=" + secret_id + "&e=" + str(expired) + "&t=" + str(current) + "&r=" + str(rdm) + "&u=0&f="

signindex = hmac.new(secret_key, info, hashlib.sha1).digest() # HMAC-SHA1加密
sign = base64.b64encode(signindex + info) # base64转码

url = "http://recognition.image.myqcloud.com/ocr/general"
headers = {''Host'': ''recognition.image.myqcloud.com'',
"Authorization": sign,
}
files = {
''appid'': (None, appid),
''bucket'': (None, bucket),
''image'': (''new_scan_doc01075720181122112953_001.jpg'', open(''C:\\Users\\Administrator\\PycharmProjects\\untitled\\untitled\\mysite\\static\\new_scan_doc01075720181122112953_001.jpg'', ''rb''), ''image/jpeg'')
}

r = requests.post(url, files=files, headers=headers)

responseinfo = r.content
responseinfo = responseinfo.decode(''utf-8'') # 解决中文乱码

r_index = r''itemstring":"(.*?)"'' # 做一个正则匹配
result = re.findall(r_index, responseinfo)
for i in result:
print i

之后运行文件,输入python aa.py runserver即可识别

基本都可以识别出来,如需线上使用提供接口即可

Python-为什么在Python中append()总是返回None?

Python-为什么在Python中append()总是返回None?

list = [1, 2, 3]print list.append(4)   ## WRONG, print does not work, append() returns None## RIGHT:list.append(4)print list  ## [1, 2, 3, 4]

不确定此问题是否特定于该语言以及如何appendPython中实现。

答案1

小编典典

append是一种变异(破坏性)操作(它会在适当位置修改列表,而不是返回新列表)。进行无损等效的惯用方式append是

l = [1,2,3]print l + [4] # [1,2,3,4]print l # [1,2,3]

回答你的问题,我的猜测是,如果append返回新修改的列表,用户可能会认为它是非破坏性的,即他们可能会编写如下代码

m = l.append("a")n = l.append("b")

并期望n成为[1,2,3,"b"]

scala – 为什么在括号上使用花括号?

scala – 为什么在括号上使用花括号?

在许多Scala示例中,我看到人们在我发现完全奇怪的地方使用花括号,当使用括号可以轻松地编写相同的语句时.

例:

lst foreach (x => println(s"the value returned is: $x")) // parens
lst foreach {x => println(s"you get the idea,$x")} // braces

我知道你可以使用大括号作为括号的替代,只是因为它允许你在多行上写一个语句:

val res = for {
  x <- coll1
  y <- coll2
} yield (x,y)

>所以当它写在一行上时,是否有任何固有的理由使用一个而不是另一个?
>结果最终应该是一样的,还是我错过了什么?
>或者仅仅是风格和/或个人品味的问题?

解决方法

一般来说,在许多情况下,你更喜欢花括号(例如多线表达式,用于理解),但让我们特别谈谈

当它写在一行上时,是否有任何固有的理由使用一个而不是另一个

在第二种情况下,它不仅仅是花括号,而不是括号,它是带有括号括号的花括号. Scala允许你有时省略括号,后面的语法用于访问你在部分函数中得到的细节(即模式匹配),所以

lst foreach {x => println(s"you get the idea,$x")}

实际上是

lst foreach({x => println(s"you get the idea,$x")})

正如我所说,它可以从模式匹配POV中获得:

val map = Map("foo" -> "bar")
map foreach { case (k,v) => println(s"key: $k,value: $v") }
// which is not possible with the usual parenthesis

我们今天的关于为什么在Python 2.7中自愿使用印刷括号?python为什么要加引号的分享已经告一段落,感谢您的关注,如果您想了解更多关于import pyttsx在python 2.7中工作,但不在python3中、python 2.7使用腾讯云的OCR-通用印刷体识别、Python-为什么在Python中append()总是返回None?、scala – 为什么在括号上使用花括号?的相关信息,请在本站查询。

本文标签: