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. Java线程——线程之间的通信

    Java中多线程间的通信是怎么实现的? 线程通信的方式: (1)共享变量 线程之间的通信可以通过发送信号,发送信号的一个简单方法就是再共享的对象里面设置信号值.线程A在一个同步块中设置boolean型 ...

  2. one_day_one_linuxCmd---netstat命令

    <坚持每天学习一个 linux 命令,今天我们来学习 netstat 命令> 前言:netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态等,还可以很方便查看本地机器上 ...

  3. 洛谷 P1731 [NOI1999]生日蛋糕 && POJ 1190 生日蛋糕

    题目传送门(洛谷)  OR 题目传送门(POJ) 解题思路: 一道搜索题,暴力思路比较容易想出来,但是这道题不剪枝肯定会TLE.所以这道题难点在于如何剪枝. 1.如果当前状态答案已经比我们以前某个状态 ...

  4. Linux-socket编程接口介绍

    1.建立连接 (1).socket.socket函数类似于open,用来打开一个网络连接,如果打开成功则返回一个网络文件描述符(int类型),之后我们操作这个网络连接都可以通过这个网络文件描述符. ( ...

  5. 合并两个django的queryset

    有queryset:A和B 要合并它们,根据网上的答案,貌似是用itertools库的chain对象比较好,地址 c=chain(x,y)   但是当c用于分页的时候,就有问题,会报chain没有le ...

  6. 《Docekr入门学习篇》——Docker镜像制作

    Docker镜像制作 Docker镜像的构建分为两种,一种是手动构建,一种是dockerfile(自动构建) 手动构建 基于centos镜像进行构建制作Nginx镜像 [root@rbtnode1 ~ ...

  7. error_reporting() 设置 PHP 的报错级别并返回当前级别

    error_reporting() 设置 PHP 的报错级别并返回当前级别. 语法 error_reporting(report_level) 如果参数 level 未指定,当前报错级别将被返回.下面 ...

  8. UVA 558 SPFA 判断负环

    这个承认自己没看懂题目,一开始以为题意是形成环路之后走一圈不会产生负值就输出,原来就是判断负环,用SPFA很好用,运用队列,在判断负环的时候,用一个数组专门保存某个点的访问次数,超过了N次即可断定有负 ...

  9. Spring Cloud Hystrix熔断器隔离方案

      Hystrix组件提供了两种隔离的解决方案:线程池隔离和信号量隔离.两种隔离方式都是限制对共享资源的并发访问量,线程在就绪状态.运行状态.阻塞状态.终止状态间转变时需要由操作系统调度,占用很大的性 ...

  10. docker---设置镜像加速器

    国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器,国内很多云服务商都提供了国内加速器服务,如: Azure 中国镜像: https://dockerhub.azk8s.cn ...