美文网首页
2020-02-03python学习+case分析

2020-02-03python学习+case分析

作者: 锅炉工的自我修养 | 来源:发表于2020-02-03 23:08 被阅读0次

python学习

    1. 课程可以学到的内容
    • python
    • SQL
    • 网站开发基础flask
    • 网页开发基础
    • 两套开发工具:pycharm+jupter
    • github
    1. 成果——搜索引擎
    • DALSEARCH
      • 输入信息
      • 不停的问问题
    • 搜索引擎
        1. 获取数据:网络爬虫
        1. 数据索引:数据结构、数据库
        1. 显示页面:网站开发、排名算法
      1. 根据自己的需求做一些,小程序

编译环境的搭建

    1. 猿之路
    • 学习基本语法
    • 别人的代码
    • 修改别人的代码
    • 开始自己的程序
    • 参与一个开源项目
    1. 工具安装和环境配置
    • python and Anaconda
    • MySQL and workbench
    • pycharm
    • Github桌面

功能:学英文+戒网瘾+买Mac

    1. anconda下载
    1. 版本号:0.9.1 1.***(稳定)

安装环境

    1. 基本指令
  • input: get data from the keyboard, a file, or some ther device
  • output: display data on the screen or send data to a file or other device
  • math: perfrom basic mathematical operations like addition and multiplication
  • conditional execution:条件执行,check for certain conditions and execute the appropriate code
  • repetition:重复,perform some action repeatedly, usually with some variation

工具安装及环境配置

    1. SQL
# SQL出问题:下载 visual studio redistribution
# 选择64位,稳定
activate py36 # 激活python
python -m ipykernel install -user # 激活ipython
# 打开 anocada prompt
conda create --name newpy37 python=3.7
# 显示当前环境变量
conda env list
conda info --envs
conda create -n newpy python #创建环境 
activate newpy # 进入环境
conda list # 查看环境从存在的包
pip install ...... # 安装包
deactivate # 退出当前环境



MySQL

# 下载MySQL
dev.mysql.com
# 一路默认即可
image.png

anconda 是一个代码库

问题如何解决第三方库无法安装的问题

切换下载源

pycharm设置

下载 sublime text (文本编辑器)

http://www.sublimetext.com/3


windows 命令行

# 打开anaconda prompt
e: # 进入e盘
dir # 显示目录列表
cd /d 路径 # 强制切换
jupyter notebook # 进入jupyter notebook
# 不要关anaconda prompt
# mac,使用terminal
# jupyter 执行:shift+enter 

# 打开多个 notebook,如何区分?
# 不要同时打开多个notebook
image.png
image.png

jupyter notebook

    1. 以文件的形式阻止程序
    1. 分块写代码
    1. 实时文本,支持markdown语法
    • <p style="color:read"></p>
    • $$ x \times y$$
    1. 可以分段运行程序
    1. 做实验用jupyter,做工程时用sublime
    1. jupyter notebook无法显示隐藏目录

计算机语言与程序

    1. 目录
  • 程序可以用来干什么?
  • 重新认识计算机
  • 什么是程序?
  • 什么是编程语言?
  • hello,world
  • 重要的是想温和解决问题
    1. 程序用来干什么?
    • 软件开发
    • 数据分析/科学计算
    1. 计算机
    • 程序运行的平台。
    • 根据计算机性能,写程序
    • 不同的设备,代码可能不同
    • python 网站 app开发
    • 计算机的组成:
      • cpu:计算
      • 硬盘:存储——脂肪
      • 内存:脑容量——血糖
    • 冯.诺依曼结构
      冯.诺依曼结构
      • 把程序调用到内存空间,给计算机指令,逐条运行
    1. 程序是写给计算机的菜谱
    • a program is a squence of intruction that specifies how to perfrom a computation
    • 算法、流程;提供原材料——设置步骤——得到想要的
    • 享有蓝图,计划。一步一步来。
    1. 程序思维
    • 陈述性知识:declearative knowledge
    • 告诉我具体的方法,才能实现
    • 程序性知识: imperative knowledge
      image.png

1.9 为什需要编程语言?

  • 人类的自然语言太复杂,语言的准确性
  • 特定指令,完成特定的事情
    1. 如何写程序
    • problem formulation: 有什么,要完成什么(输入&输出)
    • design the plan:如何实现,需要设么(算法,和支撑函数)
    • coding & debugging:编码,错误验证(翻译,纠错)
    • evalution:评估是不是合理(输出对了,不一定就对了,how?
      • 问题中有多少个坑,你没想到。
      • 达到什么条件,是对的?
    • improving:优化重新写
    1. pytho你能做什么?
    • concise & beautiful
    • packages
    • 编程的英语
    • support most modern cloud platform
    • latest ML framework
  • 数据分析+软件开发

2.1 python基础

    1. conda #包管理
conda install sdfas # 现在并安装包,**编译好的**
pip install ** #从 pypi.python.org/pipy/pip,下载并安装包,**源代码**
    1. 基本指令
  • 输入,输出;文件+键盘/screen+其他设备
  • 计算
  • 条件执行
  • 重复,循环
    1. 数据类型
    • jupyter简介
      • file:文件夹中的文件
      • running:已经打开的文件
        • 可以同时运行几个程序
      • clusters:并行计算的
      • 可以脱机运行,集运浏览器的小程序
      • 不要关闭CMD和layout
        界面
      • +号,添加代码块,选中代码块,按“a”,在上添加代码块
      • 剪刀,删除代码块
      • help | keyboard shortcuts

基本语法

    1. print的作用
    • 标准输出
    • 提示程序运行到哪里
      image.png
    • 程序帮助修改错误,主要是语法错误
    • 控制输出
      语法错误
      无效的分隔符
      引号之内都是字符串,换行必须用转义字符

必须单一,不能有歧义

type() 返回数据类型

jupyter notebook 功能

?print # 调用帮助文档

image.png

2.4 语法基变量

    1. 反馈函数:print和type
    1. 变量和运算符
    1. 运算符要配合上表达式
    1. tab 自动补全功能

相同位置做到最好

    1. 使用缩进进行分块
    1. 只能提示语法错误,逻辑错误不能提示
    1. if 函数后加“:”

变量

    1. 变量存在覆盖,代码块运行顺序可以自己选择
    1. jupyter的有事可以选在代码块的执行顺序


      image.png
    1. 变量命名要有意义 speed_of_lx
    1. 规范,可读性
    1. In [ ] 没有数字,说明没有执行。


      未执行,导致变量未定义
    1. pycharm主要是做开发,分析notebook。实时编译器
    1. 数据分析用notebook,有图+说明
    1. (123,456,789):元组
    1. a=+2 和a+=2


      a =正2
5//2 # 取整
5**2 # 幂
5%2 # 取余
    1. 两个整数相除,结果是浮点数

数据类型二

    1. python3 int 不存在溢出问题
    1. 进制表示
0b10
0o10
0x10
    1. python 提供数学运算的包,math
    • import math
    • math.pi,math.e
# 四舍五入,由于银行家舍入法限制
from _pydecimal import Decimal, Context, ROUND_HALF_UP
print(Context(prec=3, rounding=ROUND_HALF_UP).create_decimal('1.325'))
py_desc.upper() # 全大写
py_desc.lower()
# useful
py_desc.title() # 变成所有单词首字母大写。

    1. import: 导入包
    1. math.pow / sqrt 返回值为float


      image.png
    1. 语言存在,存在的意义。做选择。
# Ture or False
type(1<2)
(2<1)or(1<2)
not (1<2)
a=(2<1) and (1<2)
a=(a!=1)
a=(1==2)

数据类型——string

    1. 转义字符
    1. ''' ''' 多行注释
    1. 数据类型装换
 int("10"+10) # 类型装换
True+3 # 可行
# duplicate and conbine
template ="My name is"
name="Joshua"
greeting=template+" "+name+"."
print(greeting)
laugh=3*"Ha "
print(laugh) # 重复操作
# extract and slice
# 字符串可以进行位操作
letters="asdfsdfsdf"
letters[0] # index从0开始
letters="我爱北京天安门"
letters[25]
letters[25] # string index out of range
letters[-2] # 倒数第二个字符
    1. 倒数第一个,倒数第零个还是零,即第一个

slice

letters="asdfsdfsdsdfsdfsdfsdfsdfsdf"
letters[2:] # 从第三个字符d开始取
letters[-3:]# 从倒数第三个字符s开始取
letters[:5] # 取前五个,5代表的第六个字符不取 
letters[:100] # 取到100之前
letters[-6:-2] # 取前不取后
letters[0:3:2] #前三个字符,间隔为2
letters[::-1] #倒序 
len(letters) # 获取字符串长度
# split and join
lan="python ruby c c++ swift"
lan.split() # 默认分隔符分割为“&nbsp”
'+'.join(['download', 'python,', 'install,', 'download', 'ide.', 'learn']) # 指定分隔符进行连接
s='I like C. I like C++. I like python'
s.replace('like','hate') # substitute,字符替换
s.replace('like','hate',1) # 指定替换次数
# layout 布局
align='Learn how to align'
align.center(60) # 选择对齐方式,指定对其够总文本长度
al_len=align.ljust(30)
print(len(al_len))
print(al_len)
align.rjust(30) # rjust,右对齐
py_desc="Python description: Python is prgramming language that lets you work quickly and integrate system more effectively."
py_desc.startswith('Python') # 这句话是不是以python开头的
py_desc.endswith('effectively.') # 以谁结尾的

# 最重要
py_desc.find('language') # 找到某一字符所在的位置
len("Python description: Python is a programming ") # 验证是否正确
py_desc.isalnum() # 不熟悉,可以调用帮助文档
?py_desc.isalnum() # string是否全为文本-数字,至少一个字符
test="12562336s/"
test.isalnum() #False
py_desc.count('Python') # 查找某字符出现的次数
py_desc.strip('.') # 默认删除前后空格,指定删除确定的字符

# 遇到问题,查python官方手册
> [https://docs.python.org/3/](https://docs.python.org/3/)
# document | doc | 3.x python document | general index or search
# 指定分割符
re.split # 涉及正则表达式,之后会讲
"aaa".isalpha() # 要带括号
### user input ###
age=input("How old are you\n?")
height=input("How tall are you in meter?\(\)\n ")
weight=input("How much do you weigh in kilogram?\n")

print("So. You're %s years old. %s meter tall and %s kg heavy."%(age,height,weight)) # 多个引用加(),字符串中出现()要转义


存在可变类型和不可变类型

为什么python用“.”作为函数的连接符
因为python家里人比较多,需要用看长辈,才能确认动作是什么

相关文章

网友评论

      本文标题:2020-02-03python学习+case分析

      本文链接:https://www.haomeiwen.com/subject/tnrhxhtx.html