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. Activity启动流程(三)

    这里对启动Activity过程中涉及到的ActivityStack.TaskRecord.ActivityRecord.ActivityStackSupervisor进行简单的分析,实际上一张时序图就 ...

  2. Babel编译:类继承

    编译前 // 父类 class Fruit { static nutrition = "vitamin" static plant() { console.log('种果树'); ...

  3. Ubuntu 16.04 设置静态IP 注意事项

    目录 查看动态ip下的网络信息 查看默认网关 设置静态网络 查看动态ip下的网络信息 1 ifconifg # 查看网卡信息: 可以看出网口名称为 eno1, 以及子网掩码(mask) 查看默认网关 ...

  4. [19/06/08-星期六] CSS基础_表格&表单

    一.表格 如生活中的Excel表格,用途就是同来表示一些格式化的数据,如课程表.工资条.成绩单. 在网页中也可以创建出不同的表格,在HTML中使用table标签来创建一个表格.table是个块元素. ...

  5. 极*Java速成教程 - (7)

    Java高级特性 数组 在Java中,数组是一串连续的,不可改变长度的,对象被固定的,类型固定的连续空间.数组中的随机访问非常迅速,但为了速度放弃了灵活性.而效率也是数组最大的优点. 在使用泛型的容器 ...

  6. 状态压缩dp相关

    状态压缩dp 状态压缩是设计dp状态的一种方式. 当普通的dp状态维数很多(或者说维数与输入数据有关),但每一维总 量很少是,可以将多维状态压缩为一维来记录. 这种题目最明显的特征就是: 都存在某一给 ...

  7. qt undefined reference to `vtable for subClass'

    1. 建立一个console工程 QT -= gui CONFIG += c++ console CONFIG -= app_bundle # The following define makes y ...

  8. windows10操作系统上使用virtualenv虚拟环境

    前提win10上已经安装了Python环境! virtualenv库的使用: 安装 如果win10上同时安装了Python2和python3的安装virtualenv时用; Python2:pip i ...

  9. Python 入门之格式化输出

    Python 入门之格式化输出 1.格式化 (1)%为占位 (2)%s --- 站字符串的位置(数字.字符串都能够进行填充) name = input('请输入姓名:') age = input('请 ...

  10. 搜索专题: HDU1258Sum It Up

    Sum It Up Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...