计算思维:

逻辑思维:推演和演绎

实证思维:实验和验证,引力波->实验

计算思维:设计和构造,计算机为代表,汉诺塔递归。

计算思维特征 抽象和自动化,抽象问题的计算过程,利用计算机自动化求解。

计算生态的运用

编程的起点不是算法而是系统,编程如同搭积木,利用计算生态为主要模式,编程的目标是快速解决问题。需要理解和运用计算生态,站在巨人的肩膀上。

基本程序设计模式

IPO,自顶向下,模块设计(分而治之,松紧耦合),配置化设计(引擎配置,程序执行与配置分开)

应用开发的四个步骤

产品定义->系统架构(关注数据流,模块化,体系架构)->设计与实现->用户体验与设计(进度展示、异常处理)

Python社区PyPi

https://pypi.org/

1、在网站搜索关键字,如blockchain;

2、挑选是适合自己开发目标的第三方库作为基础;

3、完成自己需要的功能;

安装方法

1、pip安装

pip download <第三方库>,下载不安装

pip show <库名>

pip search <库名>  pip search blockchain

pip list列出已经安装的python库

pip依赖于网络环境

2、集成安装方法:

Anacoda https://www.anaconda.com/

支持近800个第三方库,包含多个主流工具,适合数据计算领域开发。如果从事的是数据计算领域,下载anacoda,将会提升开发效率。

3、文件安装方法:

有些需要在本地安装才可以使用,使用pip如果可以下载,但是没有编译环境,安装会失败,可以查找UCI页面,这里提供了一些可以下载但需要编译的第三方库软件的已经编译好的版本.

https://www.lfd.uci.edu/~gohlke/pythonlibs/

下载对应的操作系统版本的软件包,然后pip install就可以安装了。

OS库的使用:

OS库的路径操作:os.path  import os.path as op

os.path.abspath(path)  返回path在当前系统中的绝对路径

os.path.normpath  归一化path的表示形式统一用\\分隔路径

os.path.relpath  relative path 返回当前程序与文件之间的相对路径。

os.path.dirname(path) 返回path中的目录名称;

os.path.basename(path) 返回path中最后的文件名称;

os.path.join(path,"paths") 组合path与paths,返回一个路径字符串;

os.path.exists(path) 判断path对应文件或目录是否存在,返回True或False;

os.path.isfile(path) 判断path所对应的是否为已存在的文件,返回True或False;

os.path.isdir(path) 判断path所对应的是否为已存在的目录,返回True或False;

os.path.getatime(path) 返回path对应文件或目录的上一次访问时间

os.path.getmtime(path) 返回最近的一次修改时间

os.path.getctime(path) 返回创建时间

os.path.getsize(path) 返回path对应文件的大小

os进程管理 使用os.system("")

os环境参数

os.chdir(path) 修改当前程序操作的路径

os.getcwd() 获得当前程序的路径

os.getlogin() 获得当前系统的登陆名

os.cpu_count() 返回当前系统cpu的数量

os.urandom(n) 获得n个字节长度的随机字符串

第三方库自动安装脚本

NumPy:N维数据表示和运算

Matplotlib:二维数据可视化

PIL;图像处理库

Scikit-Learn:机器学习和数据挖掘

Requests:HTTP协议访问及网络爬虫

jieba:中文分词

WeRoBot:微信机器人开发框架

pyGame:简单小游戏开发框架

python学习笔记(12)--程序设计方法学的更多相关文章

  1. python 学习笔记 12 -- 写一个脚本获取城市天气信息

    近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...

  2. python学习笔记12 ----线程、进程

    进程和线程的概念 进程和线程是操作系统中两个很重要的概念,对于一般的程序,可能有若干个进程,每一个进程有若干个同时执行的线程.进程是资源管理的最小单位,线程是程序执行的最小单位(线程可共享同一进程里的 ...

  3. python 学习笔记12(事件驱动、IO多路复用、异步IO)

    阻塞IO和非阻塞IO.同步IO和异步IO的区别 讨论背景:Linux环境下的network IO. 1.先决条件(几个重要概念) 1.1.用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32 ...

  4. Python学习笔记12:标准库之对象序列化(pickle包,cPickle包)

    计算机的内存中存储的是二进制的序列. 我们能够直接将某个对象所相应位置的数据抓取下来,转换成文本流 (这个过程叫做serialize),然后将文本流存入到文件里. 因为Python在创建对象时,要參考 ...

  5. Python 学习笔记12

    不积跬步,无以至千里.不积小流,无以成江河. 当我觉得沮丧.绝望的时候,就疯狂的敲代码,这样会好受一点. 今天和昨天敲了两天的小程序,算是对python的具体语法规则有个初步的手熟. http://w ...

  6. python学习笔记03 --------------程序交互与格式化输出

    1.读取用户输入内容 语法:input() 例: name = input('你的名字是?) print('你好'+name) 程序会等待用户输入名字后打印:你好(用户输入的名字) 注意:input接 ...

  7. Python 学习笔记12 函数模块

    函数的优点之一,使用它们可将代码块与主程序分离.通过给函数指定描述性的名称.可以让主程序非常好理解.但是如果将过多的函数和主程序放置在一起,会让文件显得非常凌乱.太多的代码混杂在一起,不方便管理.我们 ...

  8. Python学习笔记12—类

    典型的类和调用方法: #!/usr/bin/env Python # coding=utf-8 __metaclass__ = type #新式类 class Person: #创建类 def __i ...

  9. python学习笔记12(函数三): 参数类型、递归、lambda函数

    一.函数参数的类型 之前我们接触到的那种函数参数定义和传递方式叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,这个对参数的位置和个数都有严格的要求.而在Python中还有一种是通过参 ...

  10. Python学习笔记5程序的控制结构

    1.分支结构 (1)单分支结构 (2)二分支结构 (3)多分支结构 条件判断 (4)程序的异常处理 2.实例:身体质量指数BMI 思路一(国内,稍作修改就是国际): 思路二: height,weigh ...

随机推荐

  1. [Algorithm] 如何正确撸<算法导论>CLRS

    其实算法本身不难,第一遍可以只看伪代码和算法思路.如果想进一步理解的话,第三章那些标记法是非常重要的,就算要花费大量时间才能理解,也不要马马虎虎略过.因为以后的每一章,讲完算法就是这样的分析,精通的话 ...

  2. [matlab] 5.字符运算与微积分

    首先介绍一下matlab里的符号计算 符号变量可以看成是数学中含参数 的表达式中的参数 matlab能进行像(a+b)(a-b)=a^2-b^2这样的计算 要进行符号计算首先要定义符号变量 定义符号对 ...

  3. 谈谈ISCSI\NAS\SAN及SAS之间的区别及优缺点--待补充

    在中国市场,中小企业存储的需求主要有以下三点:软件及硬件设备简便易用,使非IT专业人士也能进行部署和管理:满足基本业务的存储需求,并可进行灵活扩展:价格合理,不会使企业由于成本问题而耽误关键业务数据的 ...

  4. Oracle补丁术语介绍

    在使用Oracle的技术支持服务的时候,经常会遇到补丁相关的术语.现在对这些术语做些解释说明: Interim patch/One-off patch:是我们常说的小补丁,为了修复某(几)个Bug而发 ...

  5. day22 Pythonpython 本文xml模块

    一.xml介绍 xml是实现不同语言或者程序直接进行数据交换的协议,跟json差不多,单json使用起来更简单.不过现在还有很多传统公司的接口主要是xml xml跟html都是标签语言 我们主要学习的 ...

  6. appium遇到click事件,提示"w3cStatus":400

    1.小米手机被开发借用后归还,使用该手机再进行自动化,发现appium遇到click事件,返回400 2.当时未想到是要在手机侧进行开发者选项-调试权限的设置 3.一直以为是appium的问题,app ...

  7. 关于 js tofixed()保留小数位数问题

    保留位数必须是数字 const num = parseFloat ('123456.33').tofixed(2); !!!! 注意 现在的的 num 是 字符串类型, 如果给它加数字的话,就会报错 ...

  8. MVC简单用户登录授权认证

    1.控制器上面用 [Authorize] 属性标识,表示当前控制器内的所有函数需要用户认证才能访问 2.函数上面用 [AllowAnonymous] 属性标识,表示当前函数不需要用户认证可以直接访问 ...

  9. C#泛型创建实例

    class Test<T> where T : new() { public static T Instance() { return new T(); } } 就上面这方法, 居然比ne ...

  10. 多项式求值 n维多项式 Horner解法

    #include<iostream> using namespace std; template<class T> T ploy(T *coeff,int n,const T& ...