請(qǐng)看Python 文檔
https://docs.python.org/3/ref...
是語(yǔ)句。
語(yǔ)句是一段可執(zhí)行代碼。
常見的語(yǔ)句有:
賦值語(yǔ)句、if 語(yǔ)句, while 語(yǔ)句, for語(yǔ)句,
break 語(yǔ)句、continue 語(yǔ)句等等。
Python 中有一些特殊語(yǔ)句。
The global statement
The nonlocal statement
The import statement
等等
函數(shù)簡(jiǎn)單來說,是對(duì)完成特定小任務(wù)的一段代碼的封裝。
以方便重復(fù)使用。在類中的函數(shù),習(xí)慣稱為方法。
“函數(shù)是組織程序中邏輯的結(jié)構(gòu)化或程序化編程方式。大塊代碼可以整齊劃分成可管理的塊,通過在函數(shù)中放置重復(fù)的代碼而不是多個(gè)副本,可以節(jié)省空間,這也有助于提高一致性,因?yàn)楦膯蝹€(gè)副本意味著您不必尋找并進(jìn)行更改復(fù)制重復(fù)代碼的多個(gè)副本。” 這段文字摘自《Python核心編程第2版》
Python 中,類中有一個(gè)特殊的方法
_del_
我是這樣修改的,首先把nginx的配置文件修改了一下。
至于為什么這么改,還不清楚,就是看了別人的帖子,然后嘗試做了修改,起碼驗(yàn)證是可以用的
server {
listen 80;
server_name 111.230.140.182;
charset utf-8;
client_max_body_size 75M;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
#uwsgi_param UWSGI_PYTHON /usr/bin/python; //注釋掉
#uwsgi_param UWSGI_CHDIR /home/ubuntu/project/test; //注釋掉
#uwsgi_param UWSGI_SCRIPT test:app ; //注釋掉
}
}
然后將uwsgi的配置文件也改為:
[uwsgi]
socket=127.0.0.1:8080
plugins = python
wsgi-file=test.py
master=true
processes=4
threads=2
callable=app
stats=127.0.0.1:9191
從上面看修改,將chdir去掉了,然后加入了master=true,保留socket的同時(shí),加入了一個(gè)stats。
這樣的先后運(yùn)行nginx和uwsgi之后,在瀏覽器輸入ip地址就可以直接跳轉(zhuǎn)到hello world界面了。
說一下蛋疼菊緊的事情,上面這個(gè)配置文件是我自己手敲的new.ini。我在之前的uwsgi.ini文件上同樣的內(nèi)容,但是報(bào)錯(cuò),找不到app。我比來比去發(fā)現(xiàn),這個(gè)uwsgi文件是我從網(wǎng)上直接copy的在“callable=app”前面一行有非常多的空格,看是看不出的,有可能有特殊字符或者什么的。把空格刪了就OK了。
這是個(gè)坑,以后還是自己手動(dòng)敲吧。
setting has no attribute bullet (ai_settings.bullet.height)
self.rect = pygame.Rect(0,0,ai_settings.bullet_width,ai_settings.bullet.height)
寫錯(cuò)了,改成
self.rect = pygame.Rect(0,0,ai_settings.bullet_width,ai_settings.bullet_height)
pymysql.connect(host='localhost',user='user',password='passwd',db='db',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
password參數(shù)名錯(cuò)誤,請(qǐng)按照文檔來寫http://pymysql.readthedocs.io...
可能是parse模塊導(dǎo)錯(cuò)了吧。樓主給的代碼太少了,而且還有其它的錯(cuò)誤。。比如第二行的應(yīng)該是encoding='utf-8'
寫了個(gè)跑的通的python3的版本可以試一下
import urllib.parse
import urllib.request
post_value = {'test': 'test'}
headers = {}
url = 'https://so.123.com.cn/'
post_data = bytes(urllib.parse.urlencode(post_value), encoding='utf-8')
req = urllib.request.Request(
url=url, data=post_data, headers=headers, method='POST')
content = urllib.request.urlopen(req)
contents = content.read().encode('utf-8')
print(contents)
查了官網(wǎng),外網(wǎng)沒有實(shí)現(xiàn)方法,最后在郵件末端添加內(nèi)容,模擬實(shí)現(xiàn)
python2 的編碼問題確實(shí)很令人頭疼.
對(duì)于你遇到的情況, 首先應(yīng)該把 unicode 類型轉(zhuǎn)換成 utf-8 格式進(jìn)行展示.
# coding: utf-8
test=[[u'測(cè)試',u'學(xué)習(xí)'],[u'提問',u'回答']]
# 換成 utf-8 的字節(jié)碼
tester = [[y.encode('utf-8') for y in x] for x in test]
# print 展示
print(repr(tester).decode('string-escape'))
使用 python3 吧, 這些類似的編碼問題基本不會(huì)出現(xiàn)的.
我覺得樓主的問題可能處在user model的 get_id 方法上
# 下面是get_id 的官方說明
# get_id()
# 返回一個(gè)能唯一識(shí)別用戶的,并能用于從 user_loader 回調(diào)中 加載用戶的 unicode 。
# 注意著 必須 是一個(gè) unicode ——如果 ID 原本是 一個(gè) int 或其它類型,
# 你需要把它轉(zhuǎn)換為 unicode 。
# 其作用應(yīng)該是:能用于從user_loader回調(diào)中加載用戶
# 所以說這個(gè)get_id對(duì)每個(gè)user而言返回的應(yīng)該是唯一的
# 而樓主的代碼中,這個(gè)方法的返回值如下
# 這就會(huì)導(dǎo)致沒辦法從回調(diào)中獲取用戶的實(shí)例
return uuid.uuid4()
# 修改方式:
# 1. 簡(jiǎn)單粗暴測(cè)試方法,如果有效的話再根據(jù)情況優(yōu)化。
return '1'
# 2. 后續(xù)改進(jìn)方法(隨便寫的一個(gè),樓主請(qǐng)根據(jù)實(shí)際優(yōu)化)
return str(self.id)
補(bǔ)充(因?yàn)闆]用過這插件,所以如果說錯(cuò)的話請(qǐng)忽略。):
# 剛又看了下官方文檔和源碼
# 裝飾器 login_require 執(zhí)行成功,需要獲取到當(dāng)前用戶
# 而獲取當(dāng)前用戶,用戶需要自定義如下幾個(gè)方法
# 因?yàn)橛袀€(gè)沒在樓主的代碼中看見,就在下面寫下了
# 1. 供flask-login獲取當(dāng)前用戶
@login_manager.user_loader
def load_user(user_id):
return User.get(user_id)
# 2. 為load_user方法提供user_id
def get_id(self):
# 這里的返回值不能是動(dòng)態(tài)的
# 而是針對(duì)每個(gè)user實(shí)例,無論在什么情況下都是唯一的
return str(self.id)你檢查一下日志打印到底訪問的是哪里,,別只看resoponse嘛
python 3.0之前的版本zlib.crc32(binascii.a2b_hex("124578ab"), 0x01020304) & 0xffffffff
參考https://docs.python.org/2.7/l...
405一般是前后臺(tái)約定的請(qǐng)求方式不同,或者后臺(tái)接口不支持你的請(qǐng)求類型吧。
如果跨域用的cors的話,可以讓后臺(tái)加個(gè)header就行
lsof -i|grep 8000 #此處填寫你要查詢的端口
找到占用 8000 端口的相關(guān)進(jìn)程。然后使用 kill -9 ‘進(jìn)程號(hào)’,再重啟服務(wù)即可。
c++中的at(x, y) 仍然將x, y轉(zhuǎn)換為int, 即取矩陣指定行列的值, 與python中常用的flow[x, y]相同, 但不知為什么c++和python的結(jié)果偏差很大, 或者是因?yàn)閜ython的值轉(zhuǎn)換為int類型的關(guān)系??
SomeType.class.getResourceAsStream() 這個(gè)等價(jià)于 SomeType 被哪個(gè)ClassLoader加載,并且調(diào)用 ClassLoader.getResourceAsStream() 方法。
樓主代碼中的Object.class 是被 Bootstrap ClassLoader,自然讀不到
改成用scenePos
def mousePressEvent(self, event):
QGraphicsScene.mousePressEvent(self, event)
e = event.scenePos()
print(e)strtolower底層是調(diào)用的C語(yǔ)言的tolower 方法,在CLI和WEB上應(yīng)該是沒區(qū)別。猜測(cè)是你的控制臺(tái)和瀏覽器對(duì)ā字符解析不通導(dǎo)致的。
我試著開了100個(gè)進(jìn)程去跑,如果遍歷1000w個(gè),從中篩選出我要的分區(qū),按一個(gè)進(jìn)程遍歷3條/s,大概需要一天多。時(shí)間上對(duì)于我當(dāng)前項(xiàng)目是可以忍受的,但是這樣遍歷確實(shí)背離了初衷
你是用的python2還是python3創(chuàng)建的Virtualenv,python3的話你看看你全局的pip3是什么版本,估計(jì)還是9的
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。