美文网首页
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