Python简介

Python的历史

1.1989年圣诞节:Guidao von Rossum开始写Python语言的编译器

2.1991年2月:第一个Python编译器(同时也是解释器)诞生,他是使用C语言实现的(后续又出现了Java和C# 实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现)。可以调用C语言地库函数。在最早的版本里,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础地拓展系统。

3.1994年1月:Python1.0正式发布。

4.2000年10月16日:Python2.0发布,增加了实现完整的垃圾回收,提供好了对Unicode地支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。

5.2008年12月3日:Python3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python2.x版本,所以Python3.x的很多新特性后来也被移植到Python2.6/2.7版本中。

Python的优缺点

1.简单明确

2.学习曲线低,跟其它语言相比更容易上手

3.开放源代码,拥有强大的社区和生态圈

4.解释型语言,天生具有可移植性

5.支持两种主流的编程范式(面向对象编程和函数式编程)

6.可扩展性和可嵌入式,可以调用C/C++代码,也可以在C/C++中调用Python

7.代码的规范度高,可读性强,适合有代码洁癖和强迫症的人群

缺点包括:

1.执行效率低,因此计算密集型任务可以由C/C++编写

2.代码无法加密

3.在开发时可以选择的框架太多(web框架有100多个),有选择地地方的错误

Python的应用领域

目前的Python应用于云基础设施、DevOps、网络爬虫开发、数据分析挖掘、机器学习等领域都有着广泛的应用,因此也产生了Web后端开发、数据接口开发、自动化运维、自动化测试、科学计算和可视化、数据分析、量化交易、机器人开发、图像识别和处理等一系列的职位。

安装Python3.7

1.在官网上下载Python3.7,根据自身需要,按步骤安装即可。

安装后可以从终端运行Python程序,python --version查看Python的版本,如下图:

也可以先输入python进入交互式界面1,在执行一下代码检查python的版本。

其他工具介绍

IDLE-自带的集成开发工具

IDLE是安装python环境时自带的集成开发工具,如下图所示:

IPython - 更好的交互式编程工具

IPython是一种基于Python的交互式解释器。相较于原生的Python Shell,IPython提供了更为强大的编辑和交互功能。可以通过Python的包管理工具pip安装IPython和Jupyter,具体的操作如下所示。

pip install ipython jupyter

或者

python -m pip install ipython jupyter

安装成功后,可以通过下面的ipython命令启动IPython。当然我们也可以通过Jupyter运行名为notebook的项目在浏览器窗口中进行交互式操作。

jupyter notebook

Sublime - 文本编辑神器

  • 首先可以通过官方网站下载安装程序安装Sublime 3或Sublime 2。

  • 安装包管理工具。通过快捷键Ctrl+`或者在View菜单中选择Show Console打开控制台,输入下面的代码。

    • Sublime 3

    import  urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
    • Sublime 2

    import  urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
  • 安装插件。通过Preference菜单的Package Control或快捷键Ctrl+Shift+P打开命令面板,在面板中输入Install Package就可以找到安装插件的工具,然后再查找需要的插件。我们推荐大家安装以下几个插件:

    • SublimeCodeIntel - 代码自动补全工具插件。

    • Emmet - 前端开发代码模板插件。

    • Git - 版本控制工具插件。

    • Python PEP8 Autoformat - PEP8规范自动格式化插件。

    • ConvertToUTF8 - 将本地编码转换为UTF-8。

PyCharm - Python开发神器

在本次学习中使用的是Anacond,里面包括jupyter。

练习

1.编写打印出“hello world”

print('hello world')

Python的变量类型

  • 整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了),而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。

  • 浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。

  • 字符串型:字符串是以单引号或双引号括起来的任意文本,比如'hello'"hello",字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。

  • 布尔型:布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5会产生布尔值True,而2 == 1会产生布尔值False)。

  • 复数型:形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j

变量的命名

对于每个变量我们需要给它取一个名字,就如同我们每个人都有属于自己的响亮的名字一样。在Python中,变量命名需要遵循以下这些必须遵守硬性规则和强烈建议遵守的非硬性规则。

  • 硬性规则:

    • 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。

    • 大小写敏感(大写的a和小写的A是两个不同的变量)。

    • 不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。

  • PEP 8要求:

    • 用小写字母拼写,多个单词用下划线连接。

    • 受保护的实例属性用单个下划线开头(后面会讲到)。

    • 私有的实例属性用两个下划线开头(后面会讲到)。

变量的使用

  • int():将一个数值或字符串转换成整数,可以指定进制。

  • float():将一个字符串转换成浮点数。

  • str():将指定的对象转换成字符串形式,可以指定编码。

  • chr():将整数转换成该编码对应的字符串(一个字符)。

  • ord():将字符串(一个字符)转换成对应的编码(整数)。

下面通过一些例子来说明变量的使用。

1.使用变量保存数据并进行算术运算,如下图所示:

2.使用input()函数进行输入,因为input()输入的是字符串,若要进行运算,则需要类型转换,如下图所示

3.可以使用type()来查看变量的类型,如下图所示:

4.格式化输出%d,{},如下图所示:

5.使用str(),如下图所示:

6.使用chr(),ord()加密邮箱地址,如下图所示:

7.编写计算器

运算符

Python中是支持多种运算符的,如下图所示,根据优先级从高到底的顺序列出所有的运算符。

注:[],[:]是一个前闭后开的一个区间;is是判断的内存地址;除0以外的数都表示True;in是判断某一个字符串是否在这个字符串中,如下图所示:

练习题

1.将华氏摄氏度转换成摄氏温度 F = 1.8C + 32

F = input('请输入华氏温度:')
C = (float(F)-32)*1.0/1.8
print('{:.2f} 摄氏度 = {} 华氏度'.format(C,F))

运行结果:

2.输入圆的半径计算圆的面积和周长

import math
r = float(input('请输入圆的半径:'))
area = r ** 2 * math.pi
per = 2 * r * math.pi
print('半径为%f,面积为%f,周长为%f'% (r,area,per))

运行结果:

3.判断输入的年份是否为闰年

year = int(input('请输入年份:'))
if (year % 4 == 0 )and (year % 100 != 0 )or(year % 400 == 0):
  print('闰年')
else:
  print('平年')

运行结果:

4.判断是否为水仙花数

第一种:

num = input("请输入一个三位数:")
if len(num) > 3:
    print('输入有误')
else:
    num_1=int(num)
    a = int(num_1 % 100)
    b = a % 10 # 百位数
    c = int(a / 10) # 十位数
    d = int(num_1 / 100) # 个位数
    if (d ** 3)+(c ** 3)+(b ** 3) == num_1:
          print('水仙花数')
    else:
          print('不是水仙花数')

运行结果:

第二种:

num = input("请输入一个三位数:")
if len(num) > 3:
    print('输入有误')
else:
    b = int(num[0]) # 百位数
    c = int(num[1]) # 十位数
    d = int(num[2]) # 个位数
    if (d ** 3)+(c ** 3)+(b ** 3) == int(num):
         print('水仙花数')
    else:
         print('不是水仙花数')

运行结果:

5.实现一个正方形

for i in range(10):
    print('* ',end='')
print()
for k in range(8):
    print('* ',' '*14,'*',sep=" ")
for j in range(10):
    print('* ',end='')

运行结果:

-

Day01_初识Python的更多相关文章

  1. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  2. Python开发【第一篇】:初识Python

    初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

  3. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  4. 初识python面向对象

    一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...

  5. 篇2 安卓app自动化测试-初识python调用appium

    篇2              安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...

  6. 2017-06-22初识python

    初识python #!/usr/bin/env python (python解释器的文件路径)# -*- coding:utf-8 -*- (使用的编码内型)# python 2.7 <需要加第 ...

  7. day01 初识Python

    今日主要内容 1.初识python 2.简单了解下python的数据类型 nubmer=int(input("请输入数字大小:")) if nubmer>66: print( ...

  8. @1-2初识Python爬虫

    初识Python爬虫 Python爬虫(入门+进阶)     DC学院 环境搭建: Python2与Python3的差异:python2与python3整体差异不大,大多是一些语法上的区别,考虑到py ...

  9. 初识python(二)

    初识python(二) 1.变量 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用. 1.1 声明变量: #!/usr/bin/env python # -*- coding: utf- ...

随机推荐

  1. delphi xe2 64位嵌入汇编问题 https://bbs.csdn.net/topics/390333981

    Function xxx(xxx):xxx;assembler;asm  XOR RAX , RAX  ...end;这样的可以. 0 0 引用 ・ 举报 ・ 管理 5t4rk   回复于 2013- ...

  2. spss中如何处理极端值、错误值

    spss中如何处理极端值.错误值 spss中录入数据以后,第一步不是去分析数据,而是要检验数据是不是有录入错误的,是不是有不合常理的数据,今天我们要做一个描述性统计,进而查看哪些数据是不合理的.下面是 ...

  3. 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)

    ubuntu更新软件时 apt-get upgrade 遇到 E: 无法获得锁 /: 资源暂时不可用) E: Unable to acquire the dpkg frontend lock (/va ...

  4. 关于migration build failed的问题

    首先一定要执行dotnet restore 查看网站的依赖关系(有时候生成是不报错的但是restore会找不到文件路径) 检查执行命令的路径是否是正确的当前网站路径 build failed一定是生成 ...

  5. Element-ui 使用详细介绍

    一.后台搭建 使用 vue-admin-template 来快速搭建后台管理,它包含了 Element UI & axios & iconfont & permission c ...

  6. 【IO流】FileInputStream FileOutputStream BufferInputStream BufferOutputStream

    FileInputStream IO流用来处理设备之间的数据传输. Java对数据的操作是通过流的方式. Java用于操作流的类都在IO包中. 流按流向分为两种:输入流,输出流. 流按操作类型分为两种 ...

  7. 03: 使用docker搭建Harbor私有镜像仓库

    1.1 harbor介绍 1.Harbor简介 1. Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 2. 镜像的存储harbor使用的是官方的docker regi ...

  8. RabbitMQ事务和Confirm发送方消息确认

    RabbitMQ事务和Confirm发送方消息确认——深入解读 RabbitMQ系列文章 RabbitMQ在Ubuntu上的环境搭建 深入了解RabbitMQ工作原理及简单使用 RabbitMQ交换器 ...

  9. 执行命令npm publish报错:403 Forbidden - PUT https://registry.npmjs.org/kunmomotest2 - You cannot publish over the previously published versions: 0.0.1.

    前言 执行命令npm publish报错:403 Forbidden - PUT https://registry.npmjs.org/kunmomotest2 - You cannot publis ...

  10. 剑指offer 打印从1到最大的n位数

    题目描述: 输入数字n,按顺序打印出从1到最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数999. 分析:注意不能直接输入最大的n位十进制数,因为可能属于大数,这个数无法用int或 ...