Python新手需要掌握以下知识点:
基础语法- 变量:用于存储数据的标识符,例如name = 'woniu'。
- 逻辑判断:使用if语句进行条件判断,例如:
name = 'woniu'if name == 'woniu': print('hello')- 循环:包括while循环和for循环,例如以下while循环示例:
def printToOne(n): while n > 0: print(n) n -= 1printToOne(10)- 函数:用于封装可重复使用的代码块,通过def关键字定义。
数据结构- 数字:支持加减乘除等基本运算。
- 字符串:由一串字符组成,例如'hello'。
- 布尔:表示真假值,即True或False。
- 元组:不可修改的列表,使用圆括号()定义。
- 列表:Python中常用的数据结构,具有顺序和索引,例如:
my_list = [1, 2, 3]- 字典:索引可以是任意不可变结构,使用花括号{}定义,例如:
my_dict = {'key': 'value'}- 集合:元素不能重复,使用花括号{}或set()函数定义。
验证学习结果示例:统计一段文字里出现次数前3的字符,代码如下:
s = '''hello thank you !thank you very muchhow are you Indian mi fans,do you like mi 4i?ok Indian mi fans do you like mi band?'''rs = {}for l in s: if l == ' ': continue rs[l] = rs.get(l, 0) + 1print(sorted(rs.items(), key=lambda x: x[1], reverse=True)[:3])文件处理- open:用于打开文件,返回文件对象。
- read、readline、readlines:分别用于读取整个文件、一行文件内容、所有行文件内容。
- write、writelines:用于写入内容到文件。
- tell:返回文件对象当前的位置。
- seek:用于移动文件对象的位置。
Web框架(Flask与Django)- 核心思路一致:都用于构建Web应用。
- 路由解析:将URL映射到相应的处理函数。
- 监听端口:启动Web服务器并监听指定端口。
- 渲染模板:将动态数据渲染到HTML模板中。
- 重定向:将用户重定向到其他URL。
- 用户认证:处理用户登录、注册等功能。
Flask示例代码:
from flask import Flask, render_templateapp = Flask(__name__)@app.route('/')def index(): return 'hello 51Reboot'@app.route('/user')def user(): admin_user = 'woniu@51reboot' return render_template('user.html', admin_user=admin_user)if __name__ == '__main__': app.run(host='0.0.0.0', port=9092, debug=True)user.html文件内容示例:
<h1> {{admin_user}}</h1><p>user:<input type="text">password:<input type="password"><button>click</button></p>数据库入门- 增删改查四大语句:
增加数据使用insert语句。
删除数据使用delete语句。
修改数据使用update语句。
查询数据使用select语句。
Python链接数据库- MySQLdb:用于连接MySQL数据库的模块。
- connect:建立数据库连接。
- cursor:创建游标对象,用于执行SQL语句。
- execute:执行SQL语句。
- fetchall:获取执行SQL语句后的所有结果。
- orm(SqlAlchemy):对象关系映射工具,简化数据库操作。
简单的前端- 展示数据:使用HTML的table、tbody、tr、td标签展示表格数据。
- 提交数据:使用form、input、submit标签创建表单并提交数据。
- 超链接:使用a标签创建超链接。
- 图片:使用img标签插入图片。
前后端交互- 前端给后端:
通过http协议传输数据。
使用form、a、ajax等方式发送请求。
请求方法包括get和post。
- 后端给前端:
直接渲染模板,结合jinja2模板引擎。
使用ajax接收后端返回的数据。
发送HTTP请求- requests模块:用于发送HTTP请求,例如下载文件:
import requestsurl = 'http://51reboot.com/images/erweima.jpg'r
= requests.get(url)with open(url.split('/')[-1], 'w') as f: f.write(r.content)- 调用其他系统接口:例如调用百度地图API,根据IP返回地址:
import requeststoken = 'QspXzwz6rO3IviR33HDf8Czv05pR7XoT'url_pre = 'http://api.map.baidu.com/location/ip'ip
= raw_input('please input your IP: ')url = '%s?ip=%s&ak=%s&coor=bd09ll' % (url_pre, ip, token)res = requests.get(url).json()print(res['content']['address'])简易爬虫(PyQuery)- 步骤:
使用requests下载网页HTML内容。
使用PyQuery解析页面,获取所需数据。
- 示例代码:爬取豆瓣电影Top250的电影名称、评分和评论:
from pyquery import PyQuery as pqimport requestsurl = 'https://movie.douban.com/top250'content
= requests.get(url).textfor movie in pq(content).find('.info'): mov = pq(movie) title = mov.find('.title').html() score = mov.find('.rating_num').text() comment = mov.find('.quote').text() print(title) print(' ' + score + comment)Python进阶知识点(下期分享预告)- 多线程多进程:实现并发编程,提高程序执行效率。
- 迭代器和生成器:用于高效处理数据集合。
- 面向对象:通过类和对象组织代码,提高代码的可维护性和复用性。
- 网络协议:深入了解HTTP、TCP/IP等网络协议。
- ORM:进一步学习对象关系映射工具的使用。
学习Python的建议- 多实践:多抄、多写、多想、多问、多看、多听、多说。
- 解决实际问题:将编程应用于工作或学习中的重复任务,实现程序化。
- 利用资源:善于使用谷歌和百度等搜索引擎,加入开源社区交流,参加培训班系统学习。