热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

《Python编程:从入门到实践》学习笔记

文章目录前言基础知识变量和简单数据类型列表字典if语句及用户输入和while循环函数类文件和异常测试项目实战外星人入侵数据可视化Web应用程序前言这是我的第一篇博客,


文章目录

  • 前言
  • 基础知识
    • 变量和简单数据类型
    • 列表
    • 字典
    • if语句及用户输入和while循环
    • 函数
    • 文件和异常
    • 测试
  • 项目实战
    • 外星人入侵
    • 数据可视化
    • Web应用程序


前言

这是我的第一篇博客,只当是python学习的一个小结,写的不好,还请大家见谅。
我学习用的书籍是《Python编程:从入门到实践》,编程环境我用的是Anaconda中的Spyder,个人觉得Anaconda还是挺好用的。从4月21号开始,花了一周时间学完了这本书,项目也都基本动手敲了一遍。
当然,一门编程语言绝对不可能在这么短时间内学会,算是入了个门,在今后的学习中再不断巩固应用吧。

在这里插入图片描述


基础知识


变量和简单数据类型

1.修改字符串大小写:.title(),用来进行首字母大写;.upper(),全大写;.lower(),全小写。
2.字符串中使用变量:f"{}",其中括号里面存放变量。
3.制表符:\t,换行符:\n。
4.删除空白:.rstrip(),删除右边(末尾)空白;.lstrip(),删除左边(开头)空白;.strip(),删除两边空白。
5.多个变量赋值:x,y,z = 0, 0, 0,就是可以连写的意思。
6.用全大写来定义常量。
7.注释用(#)标识,注释和多行注释快捷键Ctrl+1。


列表

1.索引从0开始而不是1;-1访问倒数第一个列表元素,-2访问倒数第二个,这样可以在不知道列表长度下访问最后面的元素。
2.列表中添加元素:insert(),在任意位置添加;append(),附加到末尾。
3.永久删除用del,临时删除用remove,删除并弹出用pop()。
4.sort(),用来永久排序(按字母顺序);sorted(),临时排序;.reverse(),将列表元素顺序反转。
5.确定列表长度:len()。
6.遍历整个列表:注意三点:冒号、单复数和缩进
7.range()可生成系列数,list()可转换为列表;例如list(range(2,12,2)),最后一个2表示步长,另外,由于差一行为,只输出到10。
8.最大值max(),最小值(),求和sum()。
9.列表中的部分元素称为切片;如print(player[1:4])输出player列表中第二、三、四个元素。
10.不可变的列表称为元组,用圆括号()标识。


字典

1.字典名 = {‘键’ : ‘值’ , '键’ : ‘值’}。
2.get(‘键’ , ’ '),方法get()的第一个参数用于指定键,必不可少;第二个参数为指定的键不存在时要返回的值。
3.遍历键值对列表 .items(),遍历所有键 .keys(),遍历所有值 .values()。
4.python中字典的循环默认取Key(键)。
5.set(values)可以将字典的值去重。
6.将一系列字典存在列表中,或将列表作为值存在字典中,称为嵌套
7.字符串" ",列表[ ],字典{ },注意区分。


if语句及用户输入和while循环

1.检查特定值是否包含在列表中用关键字in或者not in
2.if-elif-else结构中,else可省略。
3.input()可让程序暂停运行,等待用户输入一些文本;int()用来获取数值输入。
4.求模运算符%,即求余数。


函数

1.定义函数用关键字def
2.传递实参三种方式:位置实参、关键字实参和默认值。
3.切片表示法[ : ]可用来创建副本。
4.形参*创建空元组,*args收集任意数量的位置实参;形参**创建空字典,**kwargs收集任意数量的关键字实参。它们都放到形参的最后面。
5.函数存储在模板中,一般要么导入到特定函数,import module_name as mn;要么导入整个模板,from module_name import function_name as fn
6.养成规范代码的习惯。运算符两边各添加一个空格;函数或类的定义下面都用文档字符串""" “”"注释;在类内用一行来区分两个函数,类之间空两行。


1.首字母大写的名称指的是类,且类名不适应下划线。
2.类中的函数成为方法,__init__是一个特使方法,python中会自动运行,且形参self是一个指向实例本身的引用。
3.修改实例的属性有直接修改和通过函数两种。
4.在继承中,函数super()可以调用父类。
5.同函数一样,一般也是导入单个类或者导入整个模板。


文件和异常

1.用with来让python在合适时自动关闭文件,with open('text_files/filename.txt') as file_object:
2.readlines()从文件中读取每一行。
3.读取模式(‘r’),写入模式(‘w’),附加模式(‘a’),读写模式(‘rf’)。
4.用try-except-else来处理异常。
5.split()函数可以以空格为分隔符将字符串进行拆分。
6.json.dump()接受一个JSON数据对象和一个文件对象,并将数据写入这个文件中,其实作用就是存储数据;json.load()来读取数据。
7.重构:划分为一系列具体函数。


测试

1.Python标准库中模板unittest提供了测试工具。
2.unittest模板中断言方法:


  • assertEqual(a, b),核实a == b。
  • assertNotEqual(a, b),核实a != b。
  • assertTrue(x),核实x 为True。
  • assertFalse(x),核实x 为False。
  • assertIn(item, list),核实item在list中。
  • assertNotIn(item, list),核实item不在list中。

3.setUp()可以实现创建对象一次,在每个测试方法中使用,且优先运行。


项目实战

三个项目我基本都实现了(除了最后一个项目中部署“学习笔记”部分没做)。
第一个外星人入侵是很有趣味性的,想想自己可以动手做游戏就动力满满,通过一步步地实现越来越复杂的功能,能帮助我们更好地理解前面所学的列表、字典、函数、类等基本概念。
第二个项目数据可视化分了几块,像Matplotlib生成平方数值表、Plotly模拟掷骰子、CSV文件和JSON文件的可视化、API的使用。这个项目工作的核心就是将获取的数据进行可视化。
第三个项目是做一个“学习笔记”的网页,我之前没有任何前端基础,但是通过这个项目我也算是对HTML有了个初步接触。


外星人入侵

这部分没做什么笔记,照着书本边敲边理解,Pygame开发游戏真的很有意思。
在这里插入图片描述


数据可视化

1.数学绘图库Matplotlib

import matplotlib.pyplot as plt
fig, ax = plt.subplots()
#fig表示整张图片,ax表示图片中各个图表

2.font是字体的意思,fontsize指定图表中各种文字大小。
3.scatter()绘制散点图

ax.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blue, s=10)
#c设置成了一个y值列表,cmap告诉pyplot使用哪个颜色映射,s表示点的尺寸

4.Plotly生成交互式图表。
5.可视化数据存储类型:CSVJSON
6.reader()以逗号分隔第一行数据,并将每项数据作为一个元素存储在列表中。
7.datetime.striptime()用来解读日期
8.Plotly Express可对数据系列进行定制import plotly.express as px;而pandas作为一种数据分析工具,是将所需数据封装起来。
9.大家有空要去了解下git本地仓库和远程仓库的一系列命令,还是很有用的。
10.API调用r = requests.get(url)
11.指向项目的链接:HTML标记

link text

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


Web应用程序

一、建立项目


  1. 建立虚拟环境python -m venv ll_env
  2. 激活虚拟环境ll_env\Scripts\activate
  3. 在Django中创建项目django-admin startproject learning_log,可用dir查看,会生成settings.py,urls.py,wsgi.py等文件;
  4. 创建数据库python manage.py migrate,会生成db.sqlite3文件;
  5. 查看项目python manage.py runserver,用此命令后才能在浏览器中打开网页

二、创建应用程序

python manage.py startapp learning_logs

运行此命令后,会生成models.py,admin.py,views.py等文件。
修改数据库三步走:


  1. 修改models.py;
  2. 对learning_logs调用makemigrations.python manage.py makemigrations learning_logs;
  3. 让Django迁移项目python manage.py migrate

三,创建页面
一般分三个步骤:


  1. 定义该页面的URL;
  2. 编写其视图函数;
  3. 创建一个简单的模板。

四,其它笔记
1.外键ForeignKey:指向数据库中另一条记录。
2.Django shell 测试项目和排查故障。
3.

标识段落;{% %}模板标签;
    表示项目列表(无序列表),
  • 表示项目列表项,二者结合使用。
    4.模板文件通常只缩进两个空格。
    5.order_by('-date_added')其中’-‘表示按降序排列;’|'表示模板过滤器。
    6.模板标签{% csrf_token %}用来防止攻击者利用表单获得对服务器未经授权的访问(跨站请求伪造);as_p表示以段落格式渲染。
    7.一个应用程序中的模板可继承另一个应用程序中的模板。
    8.@login_required实现限制访问。
    9.Bootstrap库可为Web应用程序设置样式。
    10.HTML文件主要组成:头部(head)和主体(body)。
    在这里插入图片描述


    推荐阅读
    author-avatar
    丶Olrickx
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有