1. 计算机基础知识

  • CPU : 人类的大脑,运算处理问题
  • 内存 : 临时储存数据,断点数据就会消失,存储数据快
  • 硬盘 : 永久存储各种数据,相对于内存存储速度慢
  • 操作系统 : 本质上是一个软件,用于控制各个硬件之间的数据传输和实现人机交互

2. Python的应用和历史

  • Python的创始人是吉多.范罗苏姆(Guido van Rossum). 1989年的圣诞节期间,龟叔为了在阿姆斯特丹打发时间,决心开发一个新的额脚本解释程序,作为ABC语言的一种继承.(龟叔:2005年加入谷哥至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,被称为仁慈的独裁者)
  • python的主要领域
    • 云计算 : 云计算最火的语言,典型的运用OpenStack
    • Web开发 : 基于Python的Web开发框架有很多,比如Django,Tornado,Flask等等.开发速度快,学习门槛低,能够帮助快速搭建起可用的WEB服务
    • 科学运算,人工智能 : 随着NumPy,SciPy,Matplotlib,Enthoughlibrars等众多程序库的开发,Python越来越适合于做科学计算,绘制高质量的2D和3D的图像.和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的的脚本语言的应用范围更广泛,有更多的程序库支持.虽然Matlab中的许多高级功能和toolbox目前还是无法替代的,不过在日常的科研开发之中仍然有很多的工作是可以用python代劳的
    • 自动化运维 : 这是运维师首选的编程语言,Python在自动化运维方面已经深入人心,比如Saltstack和Ansible都是大名鼎鼎的自动化平台
    • 网络爬虫 : 也称为网络蜘蛛,是大数据行业获取数据的核心工具.没有网络爬虫自动的,不分昼夜的,高智能的在互联网上爬取免费的数据,那些大数据相关的公司会少很多能够编写网络爬虫的编程语言有不少,但Python绝对是其中的主流之一,气Scripy爬虫框架应用非常广泛.
    • 金融理财分析 : 量化交易,金融分析,在金融工程领域,Python语言不但在用,且用的最多,而且重要性逐年提高.原因 : 作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于C,C++,java,尤其擅长策略回测.
    • 图形 GUI : PyQT, WxPython, Tkinter
    • 游戏开发 : 在网络游戏开发中Python也有很多应用.相比Lua or C++,Python 比 Lua有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与Lua相比,Python更适合作为一种Host语言,即程序的入口点是Python那一端会比较好,然后用C/C++在非常必要的时候写一些扩展.Python非常适合编写1万行以上的项目,而且能够很好地把网游项目的规模控制在10万行代码以内,知名游戏"文明"就是Python写的
  • Python在一些公司的应用
    • 谷歌 : Google App Engine , code.google.com,Google earth , 谷歌爬虫,Google广告等项目都在大量使用Python开发
    • CIA : 美国中情局网站就是Python开发的
    • NASA : 美国航天局(NASA)大量使用Python进行数据分析和运算
    • YouTube : 世界上最大的视频网站YouTube就是使用Python开发的
    • Dropbox : 美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
    • Instagram : 美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用Python开发
    • Fackbook : 大量的基础库均通过Python实现的
    • Redhat : 世界上最流行的Linux发行版本中的yum包管理工具就是用Python开发的
    • 豆瓣 : 公司基本所有的业务都是通过Python开发的
    • 知乎 : 国内最大的问答社区,通过Python开发(国外Quora)
    • 春雨医生 : 国内知名的在线医疗网站是Python开发的
    • 除上面之外,还有搜狐,金山,腾讯,盛大,网易,百度,阿里,淘宝,土豆,新浪,果壳等公司都在使用Python完成各种各样的任务
  • Python版本
    • Python2.+ : C,Java,C#源码不统一,代码(功能)重复,维护难度大
    • Python3.+ : 代码统一,维护难度降低
  • Python是一门什么语言

    • 编译型 : 从头到尾只编译一次

      • 优点 : 运行速度快
      • 缺点 : 开发速度慢
      • 代表语言 : C, C++, Go
    • 解释型 : 一句一句编译(逐行编译)
      • 优点 : 开发效率高
      • 缺点 ; 运行速度慢
      • 代表语言 : Python, Ruby, PHP
  • Python的优缺点

    • 优点

      • Python的定位是"优雅","明确","简单",所以Python程序看上去总是简单易懂,初学者血Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序
      • 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子
      • 高级语言 : 当你使用Python语言编写程序的时候,你无需考虑如何管理你的程序使用的内存一类的底层细节
      • 可移植性 : 由于他的开源本质,Python已经被移植在许多的平台上.如果你小心的避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
      • 可拓展性 : 如果你需要你的一段关键代码运行的更快或者希望某些算法不公开,你可以把你的部分程序用C或者C++编写,然后在你的Python程序中使用它们
      • 可嵌入性 : 你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能
    • 缺点
      • 速度慢 : 例如C语言就比Python快了10倍,
      • 代码不能加密,因为Python是解释型语言,他的源码是以文件形式存放的
  • Python的种类
    • Cpyhon : CPython,这个解释器使用C语言开发的
    • jython : 是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行
    • IronPython : 和Jython类似,只不过它是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成功.Net的字节码
    • PyPy : 是另一个Python解释器,它的目标是执行速度.PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度.

3. 变量

  • 定义变量的规则

    • 数字,字母,下划线组成
    • 不能以数字开头
    • 不能使用Python中的关键字
    • 不能使用中文和拼音
    • 区分大小写
    • 变量名要具有意义
    • 推荐写法:驼峰体和下划线(官方推荐)

4. 常量

  • 全部大写就是常量,常量建议不修改

5. 注释

  • 单行注释 : 只能注释一行,不能换行
  • 多行注释 : 可以换行 #本质上是字符

6. 数据类型

  • 整型(int) -- 数字
  • 字符串(str) # 三个引号赋值时内容代表字符串,这时引号不代表注释
    • 字符串+ : 字符串+字符串 #字符串的拼接
    • 字符串* : 字符串*数字 #只能和数字相乘
  • 布尔值
    • True : 真
    • False : 假
  • 列表

  • 元祖

  • 字典

  • 集合

3. 用户交互(input)

  • 变量名= input("提示信息") #Python3版本中 input获取到的全部都是字符串类型
  • type() : 查看类型

4. 流程控制语句

  • 单纯if

    • if 条件 :

      ​ 结果

  • 二选一

    • if 条件:

      ​ 结果

      else:

      结果:

  • 多选一 #没有else时选择0个或者1个,有else的时候就选一个

    • ​ if 条件:

      ​ 结果

      ​ elif 条件:

      ​ 结果

      ​ elif 条件:

      ​ 结果

      ​ else:

      ​ 结果

  • 多选 #可以选所有,也可以一个都不选

    • if 条件:

      ​ 结果

      if 条件:

      ​ 结果

      if 条件:

      ​ 结果

      if 条件:

      ​ 结果

  • 嵌套
    • 几种选择方式都可以进行组合嵌套

Python基本了解的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  10. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

随机推荐

  1. Restful设计相关

    1.get,从服务器获取资源. 2.post 新增资源. 3.put 更新完整资源. 4.patch 更新部分资源. 5. delete 删除资源.

  2. SeetaFaceEngine系列1:Face Detection编译和使用

    SeetaFace,根据GitHub上的介绍,就是一个开源的人脸检测.矫正和识别的开源库,是采用C++来编写的,并且是在CPU上执行的,没有用到GPU,但是可以用SSE或者OpenMP来加速.整个库分 ...

  3. 大数据攻城狮之进阶技能-Github的使用

    引用百度百科中的介绍: github GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub. GitHub于2008年4月10日正式上线 ...

  4. POJ 2976 Dropping tests【0/1分数规划模板】

    传送门:http://poj.org/problem?id=2976 题意:给出组和,去掉对数据,使得的总和除以的总和最大. 思路:0/1分数规划 设,则(其中等于0或1) 开始假设使得上式成立,将从 ...

  5. .net core编译时设置不自动生成“netcoreapp3.0”目录

    不知道出于什么目的,.netcore项目默认编译时生成的文件要多加一层"netcoreapp3.0"或"netcoreapp2.1",这应该不符合大多数开发者的 ...

  6. mybatis框架快速入门

    通过快速入门示例,我们发现使用mybatis 是非常容易的一件事情,因为只需要编写 Dao 接口并且按照 mybatis要求编写两个配置文件,就可以实现功能.远比我们之前的jdbc方便多了.(我们使用 ...

  7. Excel Old format or invalid type library 错误原因

    Old format or invalid type library 错误原因 调用excel方法失败,Old format or invalid type library 解决方案: 1,这是Exc ...

  8. spring获取当前动态代理对象

    由于spring中的aop拦截的是代理对象 当拦截的目标方法被本类的另一个方法调用时,会出现拦截失效 最佳实践: 例如拦截RegulationService的update(regulation)方法, ...

  9. PAT甲级——1146 Topological Order (25分)

    This is a problem given in the Graduate Entrance Exam in 2018: Which of the following is NOT a topol ...

  10. Linux下切换用户出现su: Authentication failure的解决办法

    在切换用户时,密码没有输错,但始终无法成功地切换,还报出身份验证失败的错误,下面是具体解决方案: 在终端上输入指令sudo passwd root 此时输入你的密码 重复再次输入你的密码 再次用su指 ...