慕課網的教程看完了,上面的習題也都能寫出來,但是讓我自己做個什么東西,還是毫無頭緒,聽說學習編程的唯一方法就是編程,那我現在編不出來,抄人家博客上的代碼能不能學會點?
ps:現在正在抄一個百度貼吧爬蟲的代碼。
回復內容:
做了一桌子菜,但都是買現成的熟食,你所做的工作只是切切裝到盤子里。每一個import模塊都相當于一塊熟牛肉,但真不能當成我們自己做的。 先聲明,我也是剛接觸不久,以下僅是根據個人經驗提出的看法學編程,第一法則是要懶
怎么個“懶”法?比如我,每天都要上學校網站登錄帳號才能上網,不登陸也要上去看看還有多少流量。但是我不想每天都要為這個重復下面一系列動作:
打開手機/電腦——>瀏覽器——>學校官網——>網關——>輸入帳號登錄
這些動作對于我來說毫無意義且繁瑣,所以我想試著寫一個程序替我做了,剛好最近學了Python和爬蟲,于是就開始做起來
哎呀,竟然有一個urllib和urllib2庫
哎呀,這樣就可以POST數據了
哎呀,可以偽裝成瀏覽器唉
你看,寫著寫著就會了 我是自學的php,1個月的時候想寫個留言板,寫不出,于是百度了個簡單的留言板源碼,一邊看一邊寫。
2個月的時候把那個留言板改成了博客,隔幾天加個功能,隔幾天加個功能,然后就找到工作了,現在在開發(fā)crm。
剛開始都這樣,就像茶壺煮餃子,有嘴倒不出,主要就是沒有頭緒,只要理清楚第一步干嘛,第二步干嘛,就能想做啥就做啥了。 不邀自答.
零基本或者更多沒有太多編寫完整項目經驗的同學, 在初步了解了Python基本語法之后,
可以通過以下方法深入學習:
- 寫爬蟲, 學習Scrapy框架(難度兩顆星)
- 建網站或者建立博客, 學習Django框架, 熟悉后轉flask框架(難度三顆星)
- 學習numpy等包, 用python做科學計算或者數據挖掘等(難度四顆星, 需要一定科研精神)
- 查看Github上Python項目, 看項目源碼, 給項目寫issue->做測試->寫文檔->改Bug->加功能(難度五顆星)
我認為學習一門語言, 首先應該通過網絡渠道或者實體書渠道, 做一個完整的小項目(不需要太大).
然后推薦兩個自己以前學習專欄(掩面, 逃..):
- 鐘愛Python - 文集 學習爬蟲系列專題
- Django之歌 - 文集 學習Django專題, 最后可以建立一個完整的博客.
最后祝好運! 學一種程序語言,最好的情況就是帶著需求去學習。題主的情況應該是學習的過程中僅僅是看懂,而沒有加入對如何應用的思考,所以學得不會很扎實,用的時候定位不到對應的知識。
我學習編程的經驗是定一個大目標,比如完成一個自己的爬蟲,或者完成一個購物網站的推薦算法等等,結合需求去學習,這樣你目標完成之日就是大功告成之時。
另外推薦英文原版的學習資料。
希望有所幫助 或許題主是不知道應該做什么。
特別是編程語言一般都對底層功能做了不同程度的封裝來簡化開發(fā),而使用封裝就意味著要使用庫,使用庫就意味著要先知道有什么庫。Python是比C/C++更為抽象的語言,沒有庫寸步難行。
但也不是說要把所有常用庫一個一個學起來。
一般的做法是挑一個自己想要的功能,然后設法去實現。這個功能可大可小。然后逐漸往上加功能,自己要什么功能就去學相關的知識。
我最早開發(fā)的網絡爬蟲是一個漫畫下載器(IFComicDownloader),用C++和Windows的SDK寫的。后來為了簡化網絡(主要是那些檢測reference防外鏈的網站)通信使用了Libcurl,為了便捷添加和修改支持的網站使用了LUA,為了自動更新抓取網頁的腳本而找了個免費的服務器,為了持久保存數據使用了sqlite數據庫。昨晚我還修改了一個腳本來繞過某漫畫網站的工口物屏蔽(……)。所以說沒有需求就沒有學習的方向。
題主說正在抄百度貼吧爬蟲代碼。按我的觀點,照抄代碼的缺點在于只能知其然很難知其所以然(為什么這里要用list,為什么那邊要用lambda之類的)。這可能導致以后有了需求也想不到怎么處理。而自己有需求的話,帶著問題去找代碼抄,就可以避免這個問題。
與其是抄百度貼吧爬蟲代碼,不如先想想自己覺得爬蟲需要什么功能,然后主動去找資料。先從簡單的開始,比如輸入一個帖子的URL,下載一個帖子的所有回復(和樓中樓)到文本文件。然后需求自然會慢慢冒出來的。比如如何繞過百度的“非百度用戶無法查看圖片”,如何方便地統(tǒng)計帖子里最活躍的用戶等等。后來可能演變成統(tǒng)計哪幾個用戶彼此關注,然后搞出一個百度貼吧用戶關聯圖。要分析哪幾個用戶是某ID的小號,或者是廣告號,然后沒準就會去學習numpy玩大數據統(tǒng)計了。 能學會編程語言的人很多,用它來做數學題的很多,但是有用它來創(chuàng)造產品的人很少,因為大多數人對沒有做過的事都不知如何下手。所以我認為正確的做法是:
1、明確自己要做個什么東西,具有哪些功能。
2、想清楚實現這些功能需要用到哪些技術。
3、將整個軟件功能細分,再進行步驟細分模塊。
4、編碼實現每個功能的每個模塊提供接口并進行調試。
5、整合接入功能模塊并整體調試完成開發(fā)。
大二狗,自己做東西時無意總結出來的方法,慎用。 慕課網。。這幫人就沒打算教你學會編程啊 你當然學不會啦。。 An Introduction to Interactive Programming in Python
公開課很棒,每講一點會讓你做個小游戲,很簡單,但是用來入門熟悉和培養(yǎng)編程習慣剛剛好,很有意思,強烈推薦樓主看看,
同在學,可以交流 先找點習題做做
再找點項目做做。
你的原因是:沒有編程思路。
請看黃哥本人寫的文章
如何捅破python編程的那層紙
https://github.com/pythonpeixun/article/blob/master/pythonstudy.md
剪刀石頭布小習題三種語言python2、php、go代碼
https://github.com/pythonpeixun/article/blob/master/jdstb.md
一段小代碼說明@property裝飾器的用法
一段小代碼說明@property裝飾器的用法

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La clé pour gérer l'authentification de l'API est de comprendre et d'utiliser correctement la méthode d'authentification. 1. Apikey est la méthode d'authentification la plus simple, généralement placée dans l'en-tête de demande ou les paramètres d'URL; 2. BasicAuth utilise le nom d'utilisateur et le mot de passe pour la transmission de codage Base64, qui convient aux systèmes internes; 3. OAuth2 doit d'abord obtenir le jeton via client_id et client_secret, puis apporter le Bearertoken dans l'en-tête de demande; 4. Afin de gérer l'expiration des jetons, la classe de gestion des jetons peut être encapsulée et rafra?chie automatiquement le jeton; En bref, la sélection de la méthode appropriée en fonction du document et le stockage en toute sécurité des informations clés sont la clé.

Une méthode courante pour parcourir deux listes simultanément dans Python consiste à utiliser la fonction zip (), qui appariera plusieurs listes dans l'ordre et sera la plus courte; Si la longueur de liste est incohérente, vous pouvez utiliser itertools.zip_langest () pour être le plus long et remplir les valeurs manquantes; Combiné avec enumerate (), vous pouvez obtenir l'index en même temps. 1.zip () est concis et pratique, adapté à l'itération des données appariées; 2.zip_langest () peut remplir la valeur par défaut lorsqu'il s'agit de longueurs incohérentes; 3. L'énumération (zip ()) peut obtenir des indices pendant la traversée, en répondant aux besoins d'une variété de scénarios complexes.

Inpython, itérateurslawjectsThatallowloopingthroughCollectionsbyImpleting __iter __ () et__Next __ (). 1) iteratorsworkVeatheitorat

Pour créer des API modernes et efficaces à l'aide de Python, FastAPI est recommandé; Il est basé sur des invites de type Python standard et peut générer automatiquement des documents, avec d'excellentes performances. Après avoir installé FastAPI et ASGI Server Uvicorn, vous pouvez écrire du code d'interface. En définissant les itinéraires, en écrivant des fonctions de traitement et en renvoyant des données, les API peuvent être rapidement construites. Fastapi prend en charge une variété de méthodes HTTP et fournit des systèmes de documentation SwaggerUI et Redoc générés automatiquement. Les paramètres d'URL peuvent être capturés via la définition du chemin, tandis que les paramètres de requête peuvent être implémentés en définissant des valeurs par défaut pour les paramètres de fonction. L'utilisation rationnelle des modèles pydantiques peut aider à améliorer l'efficacité du développement et la précision.

Pour tester l'API, vous devez utiliser la bibliothèque des demandes de Python. Les étapes consistent à installer la bibliothèque, à envoyer des demandes, à vérifier les réponses, à définir des délais d'attente et à réessayer. Tout d'abord, installez la bibliothèque via PiPinstallRequests; Utilisez ensuite les demandes.get () ou les demandes.Post () et d'autres méthodes pour envoyer des demandes GET ou POST; Vérifiez ensuite la réponse.status_code et la réponse.json () pour vous assurer que le résultat de retour est en conformité avec les attentes; Enfin, ajoutez des paramètres de délai d'expiration pour définir l'heure du délai d'expiration et combinez la bibliothèque de réessayer pour obtenir une nouvelle tentative automatique pour améliorer la stabilité.

Dans Python, les variables définies à l'intérieur d'une fonction sont des variables locales et ne sont valides que dans la fonction; Les variables globales sont définies à l'extérieur qui peuvent être lues n'importe où. 1. Les variables locales sont détruites lors de l'exécution de la fonction; 2. La fonction peut accéder aux variables globales mais ne peut pas être modifiée directement, donc le mot-clé global est requis; 3. Si vous souhaitez modifier les variables de fonction externes dans les fonctions imbriquées, vous devez utiliser le mot-clé non local; 4. Les variables avec le même nom ne se affectent pas dans différentes lunettes; 5. Global doit être déclaré lors de la modification des variables globales, sinon une erreur non liée à la dorsale sera augmentée. Comprendre ces règles permet d'éviter les bogues et d'écrire des fonctions plus fiables.

Oui, vous pouvez analyser les tables HTML à l'aide de Python et Pandas. Tout d'abord, utilisez la fonction pandas.read_html () pour extraire la table, ce qui peut analyser les éléments HTML dans une page Web ou une cha?ne dans une liste de dataframe; Ensuite, si la table n'a pas de titre de colonne claire, il peut être corrigé en spécifiant les paramètres d'en-tête ou en définissant manuellement l'attribut .Columns; Pour les pages complexes, vous pouvez combiner la bibliothèque de requêtes pour obtenir du contenu HTML ou utiliser BeautifulSoup pour localiser des tables spécifiques; Faites attention à des pièges communs tels que le rendu JavaScript, les problèmes de codage et la reconnaissance multi-table.

La fa?on d'accéder aux objets JSON imbriqués dans Python est de clarifier d'abord la structure, puis d'indexer la couche par couche. Tout d'abord, confirmez la relation hiérarchique de JSON, comme un dictionnaire ou une liste imbriquée du dictionnaire; Utilisez ensuite les clés du dictionnaire et la liste d'index pour accéder à la couche par couche, telles que les données "détails" ["zip"] pour obtenir le codage zip, les données "Détails" [0] pour obtenir le premier passe-temps; Pour éviter KeyError et IndexError, la valeur par défaut peut être définie par la méthode .get (), ou la fonction d'encapsulation Safe_get peut être utilisée pour obtenir un accès sécurisé; Pour des structures complexes, recherchez ou utilisez des bibliothèques tierces telles que JMESPath pour gérer.
