python学习笔记day1基础介绍

author author     2022-11-29     802

关键词:

Alex博客:http://www.cnblogs.com/alex3714/articles/5465198.html

一、本节主要内容

  1. Python介绍
  2. 发展史
  3. Python 2 or 3?
  4. 安装
  5. Hello World程序
  6. 变量
  7. 用户输入
  8. 模块初识
  9. .pyc文件
  10. 数据类型初识
  11. 数据运算
  12. 表达式if ...else语句
  13. 表达式for 循环
  14. break and continue 
  15. 表达式while 循环
  16. 作业需求

二、具体内容

1.python介绍

  python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。Python已经成为最受欢迎的程序设计语言之一。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。自从2004年以后,python的使用率是呈线性增长。

  由于Python语言的简洁、易读以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python教授程序设计课程。例如麻省理工学院计算机科学及编程导论课程就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库 ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别 为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数 据、制作图表,甚至开发科学计算应用程序。

 

  Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业 都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、 Facebook、NASA、百度、腾讯、汽车之家、美团等。

 

目前Python主要应用领域:

 

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维: 运维人员必备语言
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
  • 图形GUI: PyQT, WxPython,TkInter

 

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开发
  • Facebook:大量的基础库均通过Python实现的
  • Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
  • 豆瓣: 公司几乎所有的业务均是通过Python开发的
  • 知乎: 国内最大的问答社区,通过Python开发(国外Quora)
  • 春雨医生:国内知名的在线医疗网站是用Python开发的
  • 除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。

Python的优缺点

先看优点

  1. Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
  2. 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
  3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
  4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
  5. 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
  6. 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

再看缺点:

  1. 速度慢,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因,但其实这里所指的运行速度慢在 大多数情况下用户是无法直接感知到的,必须借助测试工具才能体现出来,比如你用C运一个程序花了0.1s,用Python是0.01s,这样C语言直接比 Python快了10s,算是非常夸张了,但是你是无法直接通过肉眼感知的,因为一个正常人所能感知的时间最小单位是0.15-0.4s左右,哈哈。其实 在大多数情况下Python已经完全可以满足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种情况下,当然还是建议你用C去实现的。
  2. 代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。
  3. 线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的 工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于 GIL的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行详细探讨。
  4. 其他缺点:

    单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perlawk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。

    独特的语法

    这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

    无类型

    作为一种动态语言,随时随地创建和使用变量是Python给我们带来的巨大的便利。但是它也会使得程序不严谨,某些错误只有在运行中才可能出现。所以,使用Python编程的时候,要对类型做到心里有数。这也使得Python的IDE工具无法提供便利的自动完成等功能。

    关于“无类型”的说法,是完全错误的。一看就是不了解python的人写的。python是一种“强类型”“动态绑定”。

     

python编码问题:

python2.X解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

python3.X 默认编码是UTF-8

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。

关于中文

为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。

GB2312 支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平 台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一 地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

 

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

 

day1-python基础1

本次学习内容Python介绍发展史版本选择install第一个程序helloworld字符编码变量用户输入表达式if...else一、Python介绍  查看详情

python基础库及机器学习笔记(代码片段)

1.介绍本节将主要介绍Python中的常用第三方库。这些库都是实现了各种计算功能的开源库,它们极大地丰富了Python的应用场景和计算能力,这里主要介绍NumPy、pandas和Matplotlib三个库的基础使用。其中NumPy是Python用来进行矩... 查看详情

python系列学习笔记——基础语法规则

前言本教程会依赖Python3作为依赖讲解,这节我们介绍基础的语法应用。标识符的定义第一个字符必须是字母表中字母或下划线’_’。标识符的其他的部分有字母、数字和下划线组成。标识符对大小写敏感,也就是区分大小写... 查看详情

学习笔记1python的基本介绍

一、Python基础【Python诞生】1989年由龟叔创建(GuidovanRossum),脚本语言,简单易学。开发者对Python的目标:一门简单直观的语言并与主要竞争者一样强大;开源,以便于任何人都可以为它做贡献;... 查看详情

python100天学习笔记day1初识python(代码片段)

初识PythonPython简介Python的历史1989年圣诞节:GuidovonRossum开始写Python语言的编译器。1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面),可以调用C语言的库函数。在... 查看详情

day1,笔记内容(代码片段)

...作系统:windows,linux等等应用程序:QQ,微信,word,等等2,python历史。 宏观上:python2与python3区别:    1,pytho 查看详情

day1学习心得

...都不要说,学会做到。      becomeabetterversion.一、python介绍编译器的作用:将编程语言转换成机器能懂的二进制(可跨平台)。编译型语言:CC++解释型语言:python、java优点:可扩展性:如果需要一段关键代码运行得更快... 查看详情

css学习笔记day1

1.css的简介 css:层叠样式表(层叠:一层一层的;样式表:很多的属性和属性值)使页面显示效果更好将页面内容和显示样式进行分离,提高了显示功能。2.css和html的结合方式(4种)   在每一个html语言上都有一个属... 查看详情

day1课上笔记(代码片段)

1、python的相关信息:创始人为吉多·范罗苏姆(GuidovanRossum)别名(龟叔),1989年被开发出来一种新型脚本解释语言。2、python的应用领域:如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目... 查看详情

java学习笔记---day1

💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和大家一起进步成长💕目录💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和大家... 查看详情

day1-基础班介绍

一、基础班的介绍 1.1脚踏实地行,海阔天空飞课时安排:             HTML           2天    查看详情

day1学习笔记

1.接口测试理论2.接口文档至少包含:接口说明,调用url,请求方法(get/post),请求参数,参数类型,请求参数说明,返回参数说明;3.接口测试就是功能测试;get请求:直接在浏览器里面就可调用,不用借助其他的工具;向服... 查看详情

java基础(day1)

一,搭建开发环境之前使用sublime学习python感觉不错,所以就还是使用sublime来学习java。使用以下搜索到的附录1方法,大家Java的开发环境。二,确定使用书籍Java核心编程附录1第一步,下载安装JDK并配置系统环境变量:(1)添加J... 查看详情

学习笔记2python-jupyternotebook界面基础

JupyterNotebook界面基础 一、模式JupyterNotebook有两种模式:编辑模式:有光标在闪烁的时候,就叫做编辑模式;命令模式:点击侧边栏,光标消失,就进入命令模式;ESC退出编辑模式,即进入命令... 查看详情

javascript基础-day1

JavaScript介绍你不知道它是什么就学?这就是一个网页嵌入式脚本语言...仅此而已JavaScript组成一个完整的JavaScript实现是由以下3个不同部分组成的:核心(ECMAScript) 文档对象模型(DOM)Documentobjectmodel(整合js,css,html)浏览器... 查看详情

mui框架学习笔记整理day1

MUI框架之【原生UI】(1)accordion(折叠面板)由二级列表演化而来1<ulclass="mui-table-view">2  <liclass="mui-table-view-cellmui-collapse">3    <aclass="mui-navigate-right"href="#"></a>4      <divclas 查看详情

学习笔记tableau基础介绍

Tableau基础介绍【简介】Tableau是一家提供商业智能的软件公司,正式成立于2004年,总部位于美国华盛顿西雅图。源自美国国防部的一个项目需求,在斯坦福博士克里斯·斯图尔特和Pixar创始人之一帕特·汉拉恩共同努力... 查看详情

php学习笔记day1--基本概念,及原理

... 作为一个php新手,我一直在寻找着一种快速而有效的学习方法,最后发现,快速掌握知识最快的方法就是输出,把自己学过的知识从新整理,拿出来给大家看,同时也要学会总结归纳,同一些高手交流,才能最快把知识融入... 查看详情