python基础学习总结笔记(三)

蔓延至今的开源运动

开源运动的发展
特点:开放的计算生态;野蛮生长,自然选择,相互依存,无顶层设计
1983年 MIT的Richard stallman教授启动GNU项目
1989年 GNU通用许可协议诞生,自由软件时代到来
1991年 Linus torvalds发布Linux内核
1998年 网景浏览器开源,产生了Mozilla

呃,这张图里,我能认出来Ruby Linux android MySQL php python,其他的比如火山样式的见过但是不知道是做什么的。。。
仍然不是很能理解开源软件的商业模式,什么叫卖服务呢?

数据类型

python中有很多数据类型,分为可变和不可变两种,比如字符串、元组和数字(浮点数、整数)是不可变数字类型,而列表、字典和集合则是可变数据类型。
不可变数据的优势:不管内存中有多少个引用,相同的对象只占用一块内存,大大增加了程序运行性能。
举个例子:

>>> a=(2,5)
>>> id(a)
2800379720200
>>> a=(1,2,4)
>>> id(a)
2800379729600
>>> a[1]=4
TypeError: 'tuple' object does not support item assignment

当我们创建一个不可变数据对象时,这个元组的内容的是不允许修改的。我们修改元组的内容时,程序内部新建了一个元组对象,并将变量名a指向了新的元组,此时a无法再引用到第一个元组对象了。假设我们强行想修改元组内的数据,如 a[1] = 4,会出现提示报错。也就是说想对数据进行修改,就得新建对象。
对于可变数据,新建两个内容完全一样的对象,其地址也是不一样的,也就是程序为这两个内容一样的对象开辟了两块内存空间。

集合数据类型

  1. 集合中不能含有变量
  2. 集合中的元素没有重复,可以利用这点去重
  3. 用大括号{}或set()函数创建,用逗号隔开不同元素
  4. 建立空集合必须使用set()
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

序列数据类型

序列是指有序的一串数据,所以可以包含相同元素
衍生出:字符串类型 元组类型 列表类型
在这里插入图片描述

序列操作方法

列表数据类型

创建后可以被随意修改的衍生序列类型,非常常用
用方括号[]或函数list()创建
在这里插入图片描述

列表操作方法

元组数据类型

是一种序列类型,一旦创建就不能被修改
使用小括号()或函数tuple()函数创建,元素用逗号隔开
创建和使用时可以用小括号,也可以不用

元组与列表相同,也是容器对象,可以存储不同类型的内容。元组与列表有两个不同点。第一个不同点是元组的声明使用小括号,而列表使用方括号,当声明只有一个元素的元组时,需要在这个元素的后面添加英文逗号;第二个不同点是元组声明和赋值后,不能像列表一样添加、删除和修改元素,也就是说元组在程序运行过程中不能被修改。
用于列表的排序、替换、添加等方法也不适用于元组,适用于元组的主要运算有元组的合并、遍历、求元组的最大值和最小值等操作方法。

字典数据类型

映射是一种键(索引)和值(数据)的对应关系
字典类型是“映射"的体现
值对:键是数据索引的扩展
字典是值对的集合,键值对之间无序
采用大括号{}和dict()创建,键值对用冒号:表示,元素间用冒号分隔
字典变量={键1:值1,键2:值2….}
使用{}生成空字典类型,而不是空的集合类型,注意生成空集合用set()。可见字典类型的常用程度
在这里插入图片描述
在这里插入图片描述
期间老师稍稍讲了一点numpy和scipy,再加上matplotlib,这是python领域最常用的三个数据处理库,可以解决绝大多数的计算分析问题。关于数据的结构,不了解的还有很多
在这里插入图片描述

pip工具

pip就不用我多说了,神器
下边介绍一下pip的常用命令

Usage: pip command [options]
install 安装 Install packages.
download 下载而不安装 Download packages.
uninstall 卸载 Uninstall packages.
freeze 将已安装库打包 Output installed packages in requirements format.
list 列出所有已安装库 List installed packages.
show 显示某个库的内容 Show information about installed packages.
check Verify installed packages have compatible dependencies.
search 从PyPI网站上以关键字搜索 Search PyPI for packages.
wheel Build wheels from your requirements.
help or pip -h 帮助 Show help for commands.
1 key update pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U

修改pip源,加快下载速度

引用自 https://www.cnblogs.com/microman/p/6107879.html

国内源:
新版ubuntu要求使用https源,要注意。

清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/

临时使用:
可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple
例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider,这样就会从清华这边的镜像去安装pyspider库。

永久修改,一劳永逸:
Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)

内容如下:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini。内容同上。

程序设计的方法论

自顶向下的设计思维:分而治之
将一个总问题划分为若干个小问题组成的形式,使用同样的办法进一步划分问题,直至小问题可以用计算机简单明了的解决
自底向上的执行思维:模块化集成
分单元测试,逐步组装;安好自顶向下相反的路径操作,直至系统各部分以组装的思路都经过测试和验证
自顶向下是“系统”思维的简化
计算思维:基于计算机强大的算力及海量数据;抽象计算过程,关注设计和构造,而非因果(实验思维)。以计算机程序设计为实现的主要手段,一旦能清楚地抽象出实现问题的方法,就能使用程序快速的求解

艺术:思想优先,编程其次
设计:想法和编程同等重要
工程:编程优先,思想次之
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值