2020年最后一天,还有一个多小时就是2021年了,先祝愿大家2021年都能够健康平安发大财!

自学Python的方法因人而异,而大概需要多久就更是各说各话了,但是自学Python的路径都是一致的:先学习Python基础,再付诸实践做项目(项目可大可小)。

学习Python基础没有捷径可走,无外乎这几个办法:看书、报课、自行在网上寻找资料。

1、看书

适合能够沉下心来看书的人,自制力弱的人不适用。

2、报课

报课除了能系统的学习Python基础之外,还能够约束自制力较差的人,缺点就是价格较贵。

3、自行在网上寻找资料

不提自制力是否足够的因素,网上的资料质量参差不齐,作为初学者很难分辨学习的是否正确。

以上几点各有优劣,大家选择适合自己的方法即可。

最近,我发现了一份课程,给了大家第四个选择——仅需3.9元的Python课程。价格足够便宜,但课程质量不减。通过游戏闯关式教学让大家告别枯燥,把学习Python当成自己的乐趣。代码实操部分,免去大家安装软件和环境的麻烦,直接在网页上运行代码。如果没有时间,没有电脑,也没有关系,手机也能学。最后遇到问题,还有助教老师答疑解惑!感兴趣的小伙伴可点击下方卡片领取!

学习了Python基础之后,就一个字:干!根据自己的需求开发脚本、项目,如果不知道做什么,可在网上寻找,如GitHub。

这里提供几个小例子供大家参考!

1、批量查询百度指数

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

#需登录百度指数才能够获取到json数据

import requests

import json

headers = {

"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36"

}#登录百度指数后通过F12查询可知

cookies = {

"Cookie":'BIDUPSID=19679516DF736D6F0BA229A122D1D793; PSTM=1599543811; BAIDUID=19679516DF736D6FD59148F56B452B08:SL=0:NR=10:FG=1; BDUSS=2dPSFFLWFRXaXRUODVGM0pGN2J0c3ZuYnA2d3VUSHFDQ1NtRnNBOTBPdk5KS1pmSVFBQUFBJCQAAAAAAAAAAAEAAAAvKHH~b2xhbGEwNTA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM2Xfl~Nl35fS; H_WISE_SIDS=154758_147933_157009_156287_159609_148867_159694_155225_154738_153629_159532_158957_160446_150772_151017_157262_153065_127969_154412_154174_159067_152982_154012_155319_146732_131423_154037_154414_107316_158830_154190_155345_155255_159954_157171_151872_144966_159390_159949_154619_157814_139883_158642_155529_147552_156103_159888_156710_158415_154639_159156_154276_157472_159074_110085_157006; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=32814_1463_33050_33125_33058_31660_32971_33099_33101_32961_26350_22160; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; delPer=0; PSINO=5; BA_HECTOR=05a4agag24al8k04lj1fre8910r; Hm_lvt_d101ea4d2a5c67dab98251f0b5de24dc=1605837707; bdindexid=48c9ipek104aukm7p9vtj0da47; Hm_lpvt_d101ea4d2a5c67dab98251f0b5de24dc=1605837718; __yjsv5_shitong=1.0_7_5e33c08a79ba7fd1161240552e166343f89b_300_1605837720082_183.194.192.102_2720d0d7; RT="z=1&dm=baidu.com&si=k9ygx186nv&ss=khpmb378&sl=6&tt=6vv&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=dpc&ul=2uxr'

}#登录百度指数后通过F12查询可知

keyword = open("baiduindex.txt","r",encoding='UTF-8').readlines() #需新建baiduindex.txt,需和py文件在同一位置

key_list = []

for i in keyword:

key = i.strip("\r\n")

key_list.append(key)

for i in key_list:

url = 'http://index.baidu.com/api/SearchApi/index?area=0&word=[[%7B"name":"{}","wordType":1%7D]]&days=30'.format(i)

r = requests.get(url,headers=headers,cookies=cookies)

data = (r.json()) #requests库,请求百度接口地址,然后进行json处理

try:

print("{}的平均指数为{}".format(data['data']['generalRatio'][0]['word'][0]['name'],

data['data']['generalRatio'][0]['all']['avg']))

print("{}的PC平均指数为{}".format(data['data']['generalRatio'][0]['word'][0]['name'],

data['data']['generalRatio'][0]['pc']['avg']))

print("{}的移动平均指数为{}".format(data['data']['generalRatio'][0]['word'][0]['name'],

data['data']['generalRatio'][0]['wise']['avg']))

except:

print(i+"关键词未被收录") #如某些关键词未被百度指数收录,需用try except异常处理,否则程序会出错

2、批量获取百度下拉词

import requests

import json

word = input("请输入关键词:")

def xiala(word):

url = 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=%s&sugmode=2&json=1&p=3&sid=1427_21091_21673_22581&req=2&pbs=%%E5%%BF%%AB%%E6%%89%%8B&csor=2&pwd=%%E5%%BF%%AB%%E6%%89%%8B&cb=jQuery11020924966752020363_1498055470768&_=1498055470781' % word

r = requests.get(url)

cont = r.content

res = cont[41: -2].decode('gbk') # 只取返回结果中json格式一段,并且解码为unicode

res_json = json.loads(res) # json格式转换

return res_json['s'] # 返回关键词列表

print("\n".join(xiala(word))) #第一层级挖掘

def xialadouble(word):

all_word = []

for i in "abcdefghijklmnopqrstuvxwyz":

all_word += xiala(word+i)

return list(set(all_word))

print("\n".join(xialadouble(word))) #第二层级挖掘

3、读取文档语句分词并根据分词结果生成词云

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt

from wordcloud import WordCloud

import jieba

text = open('sanwen.txt').read()

wordlist = jieba.cut(text, cut_all=True)

wl_space_split = " ".join(wordlist)

wc = WordCloud(font_path="msyhl.ttc").generate(wl_space_split)

plt.imshow(wc)

plt.axis("off")

plt.show()

wc.to_file("散文.png")

4、文件或图片批量重命名

import os

path = input('请输入文件所在路径(结尾加上/):')

houzhui = input("请输入后缀,(如.jpg):")

number = input("纯数字请输入1,否则请输入2:")

print(type(number))

if number == '1':

fileList = os.listdir(path)

fileList.sort(key=lambda x: int(x[:-4]))

print(fileList)

else:

fileList = os.listdir(path)

#从外部文件当中获取内容生成列表

file = open("id.txt", "r") #打开文件

txt = file.readlines() #读取每一行

ID = []

for z in txt:

z = z.replace("\n", "") #换行符替换为空

ID.append(z) #把值添加到列表当中

print(ID)

#循环,批量命名

n = 0

for i in fileList:

# 设置旧文件名(就是路径+文件名)

oldname = path + os.sep + fileList[n] # os.sep添加系统分隔符

for x in ID:

newname = path + os.sep + str(ID[n]) + houzhui #设置新文件名,可自行输入后缀格式

os.rename(oldname, newname) # 用os模块中的rename方法对文件改名

print(oldname, '======>', newname) #打印结果

n += 1

###后期可使用pyinstaller生成exe工具

os.system("pause") #可防止生成的exe执行文件执行完成即消失

5、大家最关心的房价批量获取,包括小区名称、位置等

from bs4 import BeautifulSoup

import re

import requests

import pandas

import openpyxl

URL = 'https://zz.newhouse.fang.com/house/s/b91/'

HTML = requests.get(URL)

SOUP = BeautifulSoup(HTML.content, 'html.parser', from_encoding='gb18030')

last_page = SOUP.select('.last')

page_number = int(last_page[0]['href'].split('/')[3].split('9')[1])

print(page_number)

names_list = []

adresses_list = []

all_type_list = []

all_money_list = []

url_demo = 'https://zz.newhouse.fang.com/house/s/b9{}/'

for i in range(1,(page_number+1)):

url = url_demo.format(i)

html = requests.get(url)

soup = BeautifulSoup(html.content,'html.parser',from_encoding='gb18030')

names = soup.select('.nlcd_name a')

adresses = soup.select('.address a')

for name in names:

names_list.append(name.text.strip())

for adress in adresses:

adress_detail = re.findall(r'".+"',str(re.findall(r'title=".+"',str(adress))))[0]

adresses_list.append(adress_detail.split('"')[1])

all_type = soup.findAll(name="span", attrs={"class":re.compile(r"forSale|inSale|outSale|zusale|zushou")})

for type in all_type:

all_type_list.append(type.text)

if soup.select('.kanzx'):

all_money_list.append('无')

all_money = soup.findAll(name="div", attrs={"class":re.compile(r"nhouse_price|kanesf")})

for money in all_money:

all_money_list.append(money.text.strip())

else:

all_money = soup.findAll(name="div", attrs={"class":re.compile(r"nhouse_price|kanesf")})

for money in all_money:

all_money_list.append(money.text.strip())

all_message = []

for m in range(0,len(names_list)):

message = [names_list[m],adresses_list[m],all_type_list[m],all_money_list[m]]

print(message)

all_message.append(message)

df = pandas.DataFrame(all_message)

df.to_excel('house_price.xlsx')

print(df)

Python可做的项目很多,大家可根据自己实际情况自行决定如何进行项目开发。但如果对于上述这几个简单的代码,你还是不能理解,甚至不能通过修改让其运行,那么毫无疑问你的Python基础还没掌握好。那么建议你还是去领取一下这份Python课程,游戏通关式教学,寓教于乐,让大家在学习的时候不再枯燥,发自内心的学习。并且手机电脑都可以学习,再也不怕错过课程。遇到问题再也不茫然,助教老师来帮助!

python基础语法花多长时间_怎么自学python,大概要多久?相关推荐

  1. 有java基础学python需要多长时间_怎么自学python,大概要多久?

    我泼点冷水:建议还是要慎重选择上来新手就自学Python.如果想认认真真打好基础,还是要至少从Java学起.换句话说,先学会Java,然后再学Python不迟. Python的最大优势是简单明快,最大 ...

  2. python基础语法+爬虫精进.pdf_风变编程《Python基础语法+爬虫精进》

    作为IT小白,从没想过会主动去学习这方面的知识,因为学历专业差距很大,从事职业也基本用不上这些.然而,在偶然一次机会接触了风变编程体验课后,我发现了python给我打开了一个新的视野,未知领域的探索就 ...

  3. 小米正式offer大概要多久_小程序审核大概要多久?审核标准是什么?

    小程序现在已经没什么门槛,即使是零基础,你也能快速制作成功.不过,制作完之后还需要通过审核,才能顺利发布.很多小白对审核还一窍不通,所以接下来就跟大家科普一下关于小程序审核的相关问题. 1.小程序审核 ...

  4. 自学python需要多长时间-大家觉得自学python多久能学会?

    自学的话,一般学4-5个月,初级入门,就OK了,但是只能找个助力工程师的职位. _________ 学习Python编程语言,动手实践是一件非常愉快的事情,遇到了程序上的问题,经常自己思考研究,从而解 ...

  5. for循环10000次花多长时间_我的三菱FX PLC学习之子程序调用与循环

    戳上方蓝字 "技成电工课堂" 关注我们哦! 上次,我们学习了程序流程转移中的条件跳转CJ,这次,我们接着向子程序调用CALL和FOR循环发起进攻吧! 显然,子程序调用CALL和FO ...

  6. python 如何将一个字符串转成时间_如何把python 字符串转换为utc时间?

    后来测试了很多方法,目前已经解决,方法如下: 总结:问题主要出现在直接用pandas读取csv,生成的DataFrame传输到mongodb中不会把时间变成isoDate格式(在我的电脑是这样,其他人 ...

  7. python基础语法有哪些-Python基础语法知识有哪些?

    相信大家都听过Python除了不会生孩子,基本上无所不能的段子,这一定程度上反映了目前Python编程语言的火爆程度和广泛应用.然而,对于许多零基础的Python学习者来说,常常会遇到无从学起,找不到 ...

  8. Deep Learning Chapter02:Python基础语法回顾

    Deep Learning Chapter02:Python基础语法回顾 由于一年多没有接触python,现在恶补了下python基础语法,为以后的深度学习打下基础.现总结如下,希望对大家有所帮助. ...

  9. python导入模块的语法结构_python学习第五讲,python基础语法之函数语法,与Import导入模块....

    python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 函数,就是一个代码块,这个代码块是别人写好的.我们调用就可以. 函数也可以称为方法. 1.函数语法定义 ...

最新文章

  1. 【CVPR2020 Oral】只需一行代码就可提升迁移性能
  2. js 查找树节点 数组去重
  3. 深入理解分布式技术 - 如何确保高可用
  4. Go 语言web 框架 Gin 练习4
  5. Asp.net之MsChart控件动态绑定温度曲线图
  6. ipv4和计算机地址是什么意思,什么是ipv4 ipv6 ipv9 区别是什么(一) -电脑资料
  7. Java String to InputStream
  8. GNU 软件文档下载
  9. F - Assassin’s Creed
  10. 2019念念不忘,2020必有回响!!!
  11. flash火焰燃烧的文字效果
  12. 0基础2(在1基础之上)
  13. Cesium上帝视角漫游
  14. 身份证input输入框限制,只能输入纯数字及限制长度
  15. 购买PG霜,请认准官方网站
  16. 人人都是钢铁侠,超级盔甲问世
  17. Unity Timeline运行时脚本控制Mute和UnMute(Mute/UnMute a timeline track via scripting)
  18. 江苏省计算机一级考试题型分数,全国计算机一级考试时间、题型、分值
  19. 银河系中心黑洞的第一张照片,本文带你了解发现的过程
  20. ubuntu下给firefox安装flash插件

热门文章

  1. 基于NodeJs+VueJs开发王者荣耀手机端官网和管理后台(个人学习)
  2. 国家纪念日引起的一个css属性思考 ------ filter属性
  3. 2022年广州市生物医药产业创新补助及申报要求,补贴500-3000万
  4. uniapp 小程序 文件体积超过 500KB common/vendor.js
  5. java基于ssm+vue+elementui的旅游线路分享管理系统
  6. vuex 辅助函数mapGetters基本用法
  7. 怎么把pdf转换成图片?
  8. @KafkaListener 详解及消息消费启停控制
  9. Oracle 18c DBCA在主机物理内存超过4G无法使用AMM(自动内存管理)
  10. Creo中如何通过参数控制模型颜色