❶ 應該怎樣自學python
一. 確定一個練手的目標
如果手邊沒有現成的需求項目等著你去用python實現,那麼最好先確定一個小目標,例如 搭建一個博客,一個站點等.
二. 分析所需知識技能
接下來我們需要分析下,針對這種web性質的項目,需要掌握的技能樹
三. 開發所需的技能知識
1. 開發環境和開發工具
python下載
sublime Text 3
pycharm下載
2. python語法知識
我個人推薦廖雪峰老師的python教程,簡單易上手,大概每個章節都看下,代碼敲一遍
3. web框架
djangoh中文文檔
web.py官方教程
Flask學習指南
tornado中文文檔
4. ORM
MySQL教程
Mongodb教程
Redis教程
5. 代碼託管
Git教程
SVN教程
免費的代碼託管平台碼雲
6. 前端知識
html, css, js jquery,ajax
bootstrap中文網
vue.js官網
weex官網
7. 部署上線
(1) 域名和伺服器購買, 及域名備案,域名解析等
(2) linux基礎操作知識
(3) python虛擬環境和多版本共存
virtualenv介紹和配置
pyenv介紹和配置
(4) 負載均衡和進程守護
nginx伺服器入門指南
supervisor守護進程
四. 寫在最後
1. python自學之路漫長,需要持續的學習和總結,希望各位挺住!
2. 找一個pythoner一塊交流學習,碰到問題能有所指點,事半功倍!
❷ 廖雪峰的官方網站有python後端開發相關知識嗎
有。
廖雪峰,十年軟體開發經驗,業余產品經理,精通java/Python/Ruby/Scheme/Objective C等,對開源框架有深入研究,著有《Spring 2.0核心技術與最佳實踐》一書。
Python是一種廣泛使用的解釋型、高級和通用的編程語言。Python由荷蘭數學和計算機科學研究學會的Guido van Rossum創造,第一版發布於1991年,它是ABC語言的後繼者,也可以視之為一種使用傳統中綴表達式的LISP方言。
❸ 各位,python的ORM哪個更好一些
1、主要是開發快,語言簡潔,沒那麼多技巧,所以讀起來很清楚容易。
2、如果追求運行速度,可以用C/C++寫python的mole,標准庫里就有用C/C++寫的東西,這個跟java的JNI類似。
3、大量現成的包,基本上需要的東西,Python都有。軟體業、工業、研究領域,都有大量的工具。
4、強大的「膠水語言」。開發復雜的系統的時候,可能需要各種應用,而Python可以解決大部分問題。我開發「雲算筆記」網站(yunsuan.org),主站使用Python+Tornado,ORM使用peewee,地圖伺服器使用TileStacke,科學計算部分,使用scipy,繪圖,使用metaplot,這些都是Python的包。
❹ Python工程師怎麼自學(學習路徑)
IT行業,技術要比學歷、年齡、從業經驗更為重要,技術水平直接決定就業薪資,想要學好python,首先要先了解精通Python語言基礎、Python web開發、Python爬蟲、Python數據分析這四大方面。
零基礎學習需要要從如下幾個階段入手:
階段一:熟練掌握Python多線程並發編程技術,可以編寫爬蟲程序和語音識別軟體
階段二:熟練掌握Linux操作系統管理技術,可以搭建幾乎所有Linux環境伺服器
階段三:掌握三大Python後端框架,解決一切前後端Web開發問題
階段四:掌握三大Python後端框架,解決一切前後端Web開發問題
階段五:Web框架之Tornado
階段六:docker容器及服務發現
階段七:掌握分布式多線程大型爬蟲技術,能開發企業級爬蟲程序
階段八:成為Python數據挖掘分析師,進入人工智慧領域,成為IT市場最前沿人才
❺ 簡述python語言的概念
Python 是一門優雅而健壯的編程語言,它繼承了傳統編譯語言的強大性和通用性,同時也借鑒了腳本語言和解釋語言的易用性。
Python是由創始人貴鐸·范·羅薩姆(Guido van Rossum)在阿姆斯特丹於1989年聖誕節期間,為了打發聖誕節的無趣,開發的一個新的解釋型腳本語言。之所以選中Python(大蟒蛇的意思)作為該編程語言的名字,是因為他是BBC當時正在熱播的喜劇連續劇「Monty Python」的愛好者。
Python被設計成是 「符合大腦思維習慣」 的,採用極簡主義的設計理念,加以統一規范的交互模式。這使得Python易於學習、理解和記憶。Python 開發者的哲學是 「用一種方法,最好是只有一種方法來做一件事」。
Python是完全面向對象的編程語言,函數、模塊、數字、字元串等內置類型都是對象。它的類支持多態、操作符重載、和多重繼承等高級OOP概念,並且Python特有的簡潔的語法和類型使得OOP十分易於使用。當然OOP只是Python的一個選擇而已,就像C++一樣,Python既支持面向對象編程,也支持面向過程編程的模式。
Python 的優點
1、軟體質量高
2、開發速度快
3、功能強大
4、易於擴展
5、跨平台
Python 的開發方向和應用場景
Web網路開發:
Python提供豐富的模塊支持sockets編程,多線程編程,能方便快速地開發網路服務程序。支持最新的XML技術,支持json語言,資料庫編程,而且Python的ORM框架,使得操作資料庫非常方便。
Python還有優秀的Django、Tornado、Flask等web開發框架,還用眾多的開源插件的支持,足以適用各種不同的web開發需求。
自動化運維:
Python對操作系統服務的內置介面,使其成為編寫可移植的維護操作系統的管理工具和部件的理想工具。Python程序可以搜索文件和目錄樹,可以運行其他程序,可以使用進程和線程並行處理。
網路爬蟲:
在文本處理方面,python提供的re模塊能支持正則表達式,還提供SGML,XML分析模塊,許多程序員利用python進行XML程序的開發。
圖形處理:
有PIL、Tkinter等圖形庫支持,能方便進行圖形處理。 多媒體應用 ,Python的PyOpenGL模塊封裝了「OpenGL應用程序編程介面」,能進行二和三維圖像處理。PyGame模塊可用於編寫游戲軟體
Python版本
python有兩個版本,python 2.X和python 3
❻ python中orm 框架有哪些
對多核多對多
04142434445
from sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column,Integer,String,ForeignKey,UniqueConstraint,Indexfrom sqlalchemy.orm import sessionmaker,relationshipfrom sqlalchemy import create_engineengine = create_engine("mysql+pymysql://root:[email protected]:3306/test",max_overflow=5)Base = declarative_base()#創建單表class Users(Base): __tablename__ = 'users' id = Column(Integer,primary_key=True) name = Column(String(32)) extra = Column(String(16)) #一對多 class Favor(Base): __tablename__ = 'favor' nid = Column(Integer,primary_key=True) caption = Column(String(50),default='red',unique=True) class Person(Base): __tablename__ = 'person' nid = Column(Integer,primary_key=True) name = Column(String(32),index=True,nullable=True) favor_id = Column(Integer,ForeignKey('favor.nid')) #多對多class Group(Base): __tablename__ = 'group' nid = Column(Integer,primary_key=True) name = Column(String(64),unique=True,nullable=False) port = Column(Integer,default=22) class Server(Base): __tablename__ = 'server' id = Column(Integer,primary_key=True,autoincrement=True) hostname = Column(String(64),unique=True,nullable=False)class ServerToGroup(Base): __tablename__ = 'servertogroup' nid = Column(Integer,primary_key=True,autoincrement=True) server_id = Column(Integer, ForeignKey('server.id')) group_id = Column(Integer, ForeignKey('group.nid'))# Base.metadata.create_all(engine) #生成表Base.metadata.drop_all(engine) #生成表
#添加數據(往Users表增加數據)
123456789101112131415
from sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column,Integer,String,ForeignKey,UniqueConstraint,Indexfrom sqlalchemy.orm import sessionmaker,relationshipfrom sqlalchemy import create_enginefrom orm一對多和多對多 import Users #從orm一對多和對多程序中導入Users類engine = create_engine("mysql+pymysql://root:[email protected]:3306/test",max_overflow=5)Base = declarative_base()Base.metadata.create_all(engine) #生成表# Base.metadata.drop_all(engine) #生成表Session = sessionmaker(bind=engine)session = Session()#增加數據obj = Users(name="parktrick",extra="Devops")session.add(obj)session.commit() #不執行這步,數據是寫入不了資料庫的
#刪除User表某條數據
123
#刪除數據session.query(Users).filter(Users.id > 2).delete() #把Users.id大於2的數據刪除掉session.commit()
#修改數據
123
#修改數據session.query(Users).filter(Users.id > 1).update({"name":"bob"}) #修改User.id大於1的name為"bob"session.commit()
❼ 零基礎學Python應該學習哪些入門知識
關於零基礎怎麼樣能快速學好Python的問題,網路提問和解答的都很多,你可以網路下看看。我覺得從個人自學的角度出發,應從以下幾個方面來理解:
1 為什麼選擇學python?
據統計零基礎或非專業的人士學python的比較多,據HackerRank開發者調查報告2018年5月顯示(見圖),Python排名第一,成為最受歡迎編程語言。Python以優雅、簡潔著稱,入行門檻低,可以從事Linux運維、Python Web網站工程師、Python自動化測試、數據分析、人工智慧等職位,薪資待遇呈上漲趨勢。
2 入門python需要那些准備?
2.1 心態准備。編程是一門技術,也可說是一門手藝。如同書法、繪畫、樂器、雕刻等,技藝純熟的背後肯定付出了長時間的反復練習。不要相信幾周速成,也不能急於求成。編程的世界浩瀚無邊,所以請保持一顆敬畏的心態去學習,認真對待寫下的每一行代碼,甚至每一個字元。收拾好自己的心態,向著編程的世界出發。第一步至關重要,關繫到初學者從入門到精通還是從入門到放棄。選一條合適的入門道路,並堅持走下去。
2.2 配置 Python 學習環境。選Python2 還是 Python3?入門時很多人都會糾結。二者只是程序不兼容,思想上並無大差別,語法變動也並不多。選擇任何一個入手,都沒有大影響。如果你仍然無法抉擇,那請選擇 Python3,畢竟這是未來的趨勢。
編輯器該如何選?同樣,推薦 pycharm 社區版,配置簡單、功能強大、使用起來省時省心,對初學者友好,並且完全免費!其他編輯器如:notepad++、sublimeText 3、vim 和 Emacs等不推薦了。
操作環境?Python 支持現有所有主流操作平台,不管是 windows 還是 mac 還是 linux,都能很好的運行 Python。並且後兩者都默認自帶 Python 環境。
2.3 選擇自學的書籍。我推薦的書的內容由淺入深,建議按照先後順序閱讀學習:
2.3.1《Python簡明教程》。這是一本言簡意賅的 Python 入門教程,簡單直白,沒有廢話。就算沒有基礎,你也可以像讀小說一樣,花兩天時間就可以讀完。適合入門快速了解語法。
2.3.2 廖雪峰編寫的《Python教程》。廖先生的教程涵蓋了 Python 知識的方方面面,內容更加系統,有一定深度,有一定基礎之後學習會有更多的收獲。
2.4 學會安裝包。Python中有很多擴展包,想要安裝這些包可以採用兩種方法:
2.4.1 使用pip或easy_install。
1)在網上找到的需要的包,下載下來。eg. rsa-3.1.4.tar.gz;
2)解壓縮該文件;
3)命令行工具cd切換到所要安裝的包的目錄,找到setup.py文件,然後輸入python setup.py install
2.4.2 不用pip或easy_install,直接打開cmd,敲pip install rsa。
3 提升階段需要恆心和耐力。
完成入門階段的基礎學習之後,常會陷入一個瓶頸期,通過看教程很難進一步提高編程水平。這時候,需要的是反復練習,大量的練習。可以從書上的例題、作業題開始寫,再寫小程序片段,然後寫完整的項目。我們收集了一些練習題和網站。可根據自己階段,選擇適合的練習去做。建議最好挑選一兩個系列重點完成,而不是淺嘗輒止。
3.1 多做練習。推薦網站練習:
crossin編程教室實例:相對於編程教室基礎練習著重於單一知識點,
編程實例訓練對基礎知識的融會貫通;
hackerrank:Python 部分難度循序漸進,符合學習曲線
實驗樓:提升編程水平從做項目開始;
codewar:社區型編程練習網站,內容由易到難;
leetcode:為編程面試准備,對初學者稍難;
牛客網:提供 BAT 等大廠筆試題目;
codecombat:提供一邊游戲一邊編程;
projecteuler:純粹的編程練習網站;
菜鳥教程100例:基於 py2 的基礎練習;
3.2 遇到問題多交流。
3.2.1 利用好搜索引擎。
3.2.2 求助於各大網站。推薦
stackoverflow:這是一個程序員的知識庫;
v2ex:國內非常不錯的編程社區,不僅僅是包含程序,也包含了程序員的生活;
segmentfault:一家以編程問答為主的網站;
CSDN、知乎、簡書等
3.2.3 加入相關的QQ、微信群、網路知道。不懂的可以隨時請教。
❽ 自己編寫一個ORM應該怎麼做
ORM框架採用元數據來描述對象一關系映射細節,元數據一般採用XML格式
❾ python有沒有類似java的ibatis框架
簡單了解了下python的orm框架,基本上都是不用寫sql語句,映射的是表的整條記錄,類似java中hibernate框架。在python中有沒有類似java的ibatis框架呢?
那你直接用資料庫的驅動就好了嘛…………SQLite3 用標准庫 sqlite,MySQL 用 MySQLdb,PostgreSQL 用 psycopg2。
❿ Python 有哪些好的 Web 框架
python好的web框架還是有很多的,對初學者來說,循序漸進是最重要的,我推薦學習 Flask框架 。
Flask 很輕,花很少的成本就能夠開發一個簡單的網站。非常適合初學者學習。
Flask 框架學會以後,可以考慮學習插件的使用。例如使用 WTForm + Flask-WTForm 來驗證表單數據,用 SQLAlchemy + Flask-SQLAlchemy 來對你的資料庫進行控制。
BTW:果殼網基於 Flask 開發的。
另外也簡單介紹下其他框架:
1. Django。如樓上所說,是一個全能型框架。目前 Django 的使用面還是很廣的,有學習的價值,但是不建議初學者學習,因為要學習的東西太多了,一下子難以吸收會失去興趣。當然,Django 的目的是為了讓開發者能夠 快速 地開發一個網站,它提供了很多模塊,其中我最喜歡的就是 admin 模塊 如果對 Django 熟悉的話,papapa 一下子就寫好一個網站的原型了。
2. Tornado。傳說中性能高高的框架。Tornado 是一個很好的框架,支持非同步處理的功能,這是它的特點,其他框架不支持。另外一點是,Tornado 的設計似乎更注重 RESTful URL。但 Tornado 提供了網站基本需要使用的模塊外,剩下的則需要開發者自己進行擴展。例如資料庫操作,雖然內置了一個 database 的模塊(後來獨立出去了,現在叫做 torndb,bdarnell/torndb · GitHub)但是不支持 ORM,快速開發起來還是挺吃力的。如果需要 ORM 支持的話,還需要自己寫一層將 SQLAlchemy 和 Tornado 聯系起來,而且這里還有一個坑。
BTW:知乎就是基礎 Tornado 開發的。
3. Bottle。Bottle 和 Flask 都屬於輕量級的 Web 框架。但是 Bottle 似乎落寞了。我覺得跟他的 API 設計有關系。個人認為 Bottle 使用起來不那麼順手,因此也用得少。這里不做太多介紹。
4. web.py。也是很輕的一個框架,使用不多,也不做介紹。
5. web2py。我看樓上都沒有對這個框架做介紹。這個框架是 Google 在 web.py 基礎上二次開發而來的,兼容 GAE 。性能據說很高,曾經用他來做自己的主頁,感覺也還不錯。缺點同樣是對擴展支持不太好,需要自己進行擴展。
6. Quixote。著名的 豆瓣 就是基於 Quixote 開發的。跟上面幾個框架不同,Quixote 的路由會有些特別。另外 Quixote 的性能據說也好。