Python基本了解
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基本了解的更多相关文章
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- 使用Python保存屏幕截图(不使用PIL)
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...
- Python编码记录
字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...
- Apache执行Python脚本
由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...
- python开发编译器
引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...
- 关于解决python线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
随机推荐
- 批量导入数据表(oracle)
批量导入数据表(oracle) 1.登陆plsql 2.找到菜单栏 工具>>导入数据>>新增图标(会提示选择*.csv文件) 选择如上图所示 3.选择数据并导入 4.下图为执行 ...
- 化 Bernoulli 方程为一阶线性微分方程
形如 $ {\displaystyle \frac{dy}{dx}+p(x)y=q(x)y^n(n\neq 0,1) \ \ \ \ \ (1)}$ 的方程为 Bernoulli 方程.现在我们考虑其 ...
- VC调用VB写的COM
VB. 步骤: 1.创建类库:类库的创建必须分为接口和实现类:给外面提供的是COM接口: 创建了接口和类之后还要创建"Guid",这个在"工具->创建GUID&qu ...
- Linux 系统查看服务器SN序列号以及服务器型号
1.单独查看服务器的序列号 [root@localhost ~]# dmidecode -t system | grep 'Serial Number' Serial Number: 2102310Y ...
- 修改自己的centos输入法
当自己的centos连上网时,就可以修改自己的输入法了 http://jingyan.baidu.com/album/da1091fb3e7f8a027849d681.html?picindex=2
- Win 10 Ctrl + Space 冲突
1. 说明 在IDE里面Ctrl + space 会与 Windows 输入法相互冲突,并且用Ctrl + Space 切换中英文也很不常用(常用直接shift切换). 2. 操作 控制面板——时钟. ...
- 关于maven的使用总结
maven介绍 项目构建过程 eclipse只是开发工具,虽然提供了创建.编码.编译.测试.运行等功能,但并不是项目构建工具. 项目构建主要过程如下: 实际的项目构建过程要复杂繁琐的多.如果是一个独立 ...
- React 渲染嵌套对象,内部对象会是undefined
在编译器中获取数据 发现报错 原因: render()一加载就会渲染,渲染的数据是初始state里的值 ,当setState会再次渲染 解决方法 1.三元运算 判断对象是否存在 2.在初始化对象的时候 ...
- python——logging模块
简介: 日志是一种可以追踪某些软件运行时所发生事件的方法.软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情.不同的事件,被区分在不同的等级中,故通过log分析,可以很轻易地分析 ...
- Python笔记_第三篇_面向对象_3.重载(overloading)和重写(overriding)
1. 重载: overloading:就是将函数重新定义一遍. 1.1 __str__( )和__repr__( )的重载: 格式: __str__( ):在调用print打印对象时自动调用,是给用户 ...