Python简介
Python快速入门
一. Python 简介:
1.1 Python的出生
我们想要快速学习python就需要知道点python的历史.python是哪年创建的 ?python可以做什么?
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆
(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,
作为ABC语言的一种继承。
龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,
被称为仁慈的独裁者)。
1.2 Python的今世
据当前来看python在TIORB排行榜中,位居第三.Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言.
Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!
1.2.1 Python的主要应用领域:
云计算: 云计算最火的语言, 典型应用OpenStack
WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。典型WEB框架有Django
科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
系统运维: 运维人员必备语言
爬虫:通过代码来模拟人进行页面访问,对信息进行批量的获取
金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测'
图形GUI: PyQT, WxPython,TkInter
1.2.2 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完成各种各样的任务。
1.3 Python是什么编程语言:
编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、
强类型定义语言和弱类型定义语言,每个分类代表什么意思呢,我们一起来看一下。
1.3.1 编译型与解释型
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时
计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,
所以运行速度是不如编译后的程序运行的快的.
这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)
1.3.2 动态语言和静态语言
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。
(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,
在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,
在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如
VBScript也多少属于动态类型语言。
(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,
也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,
其他的静态类型语言还有C#、JAVA等。
1.3.3 强类型定义语言和弱类型定义语言
(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,
如果不经过强制转换,那么它就永远是这个数据类型了。
举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反,
一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避
免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语
言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。
通过上面这些介绍,我们可以得出. python是一门动态解释性的弱类型定义语言。
看了这么多内容,感觉好厉害已近迫不及待的想要动手去试试了,我不得不说,还是需要在稍等一下.等什么.
等一个武功秘籍,我们的秘籍就是可以用来学习python的一个软件.
二.环境安装
1.1 Python环境安装
1.1.1 打开官网:http://www.python.org,点击Downloads
下载,如下图
1.1.2下拉页面,选择对应版本:Python3.6.3,如下图
向下查找,找到Python 3.6.3
1.1.3 根据系统选择对应的安装包,如下图
根据当前系统的选择对用的,红色的是windows32位,绿色的是windows64位
1.1.4下载完成,如下图
下载完成后找到下载的目录,然后用鼠标左键双击
1.1.5 安装
1.1.6 执行下一步
1.1.7 勾选安装
1.1.8 安装进度
1.1.9 安装成功
好了,我们已经成功的安装了python解释器了.为了开发方便.我们还需要安装一个神器Pycharm
2.1 Pytcharm安装
2.1.1 下载Pycahrm
首先要下载Pycharm这个软件,官网的下载地址是: http://www.jetbrains.com/pycharm/download/#section=windows
选择左边的点击进行下载,左边的是专业版右边是社区版
2.1.2 下载中
出现这个页面就是正在下载,稍微喝杯茶等等
2.1.3 找到文件
2.1.4 安装
选择Next 点击
2.1.5 选择要安装到那个目录
2.1.6 选择配置
我是64位机器,我选择了64,如果是32的就选择32 [不管64还是32剩下的都选择]
2.1.7 点击安装
2.1.8 安装中
2.1.9 安装成功
出现这个界面的直接点击Finish关闭就可以了. 我们现在切换到桌面
2.1.10 使用Pycharm
找到这个图标然后双击
2.1.11 首次使用Pychram
2.1.12 用户许可证
2.1.13 激活Pycharm
激活详情http://idea.lanyus.com/页面
点击选择的内容生成激活码,然后将激活码复制到code选项中
2.1.14 个性化设置
这个直接关闭就可以了
2.1.15 启动成功
如果你的激活码没问题的话,会在个性化,主题设置完毕之后,经过短暂的加载(加载速度取决于电脑性能)进入如图页面,到这一步,PyCharm安装完成了
2.1.16 创建文件
2.1.17 PyCharm选择解释器
File -- Settings -- Project -- Project Interpreter,这里会显示当前系统默认的解释器,如果要添加别的解释器,点击工具图标,Add local -- Existing environment,点击三点图标,在打开的本地文件目录中选择解释器文件的.exe文件。就行了,如果你没有选择, PyCharm会自动选择当前环境默认的解释器
2.1.18 PyCharm创建py文件
鼠标放到大纲然后右键鼠标,出现一个New然后鼠标向右滑动选择python file点击左键
直接写文件的名字就可以了,写完后回车就搞定了.
2.1 输出
咱们直接在这里边写东西 然后右键鼠标找到run左键点击一下,这个Python就输出出来了
print() 括号里面的内容就是要输出的内容,如果是文字和字母需要用英文的引号引起来,数字直接写就可以啦
python2写法:
print 'hello world'
python3写法:
print('hello world')
我们学习的python3版本,python2版本是什么样也要知道
2.2 变量
下面咱们来说一下变量,在接触变量之前,我先给大家演示一效果:
print(1+2+3+4+5)
print(((1+2+3+4+5))*5+6)
print((((1+2+3+4+5))*5+6)*7)
上面只是举个例子,是不是很麻烦,那有什么解决方法呢?咱们是不是可以用一个东西代替一下他的中间结果呢?
x = 1+2+3+4+5
y = x*5 + 6
z = y*7
print(z)
以上这个知识点就是变量
变量就是将中间的结果暂存到内存,以便后续程序调用
这个知识点用在哪呢
变量在python中经常使用,比如上面的例子,再比如我设置一个变量
name = ‘alex’ 那么name指向的就是‘alex’ 无论我在哪里调用name,他的结果就是alex,可以暂存一些临时数据。
name = 'Meet'
# 这样的形式就是在定义一个变量
name 是一个变量名
= 是一个赋值操作 赋值就是将值交给name
'Meet' 是一个值
这个知识点该如何用呢
2.2.1 变量的定义规则
变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
变量名建议不使用拼音和中文
变量的要具有意义
变量名不要过长
变量名要区分大小写
变量名推荐写法:
驼峰体 MeetTheGirl
下划线 meet_the_girl
2.2..2 变量的赋值
name1 = 'Meet'
name2 = 'Guo'
此时的name1的值是Meet,name2的值是Guo,我们来看看下边的这个变量
name1 = 'Meet'
name2 = name1
现在的这个name1是Meet,name2是name1 也就是name2现在用的是name1的值,name2的值就是Meet
我们在来看一下变量的小高级使用:
2.2.3 变量的小高级
age1 = 18
age2 = age1
age1 = 12
age3 = age2
print(age1,age2,age3)
我们先来分析一下这个结果是怎样的,在运行看结果是否和你想的一样
如果结果和你想的不一致,你需要注意了.咱们代码的运行是从上至下的执行
age = 12
age = 12 + 1
age1 = age + 1
print("我今年:",age1)
name1 = 'alex'
name2 = name1
name1 = 'wusir'
name3 = name2
打印name1,name2name3分别对应的值是什么
通过上边的小高级和练习我们可以得出一个宗旨,就是解释型语言是从上至下依次执行
没执行一行,后面的将会把前面的覆盖
2.3常量
常量就是将变量名大写,尽量保持不更改的一种量
这个常量有是干什么的呢 其实我生活中就有一些定死了的量
比如生日,身份证
咱们代码中,也应该有一些这样的东西,我从设计之初就是不让任何人改变的,所以这个东西就是常量。
2.4注释
在你写代码时,有些代码写的比较经典,或者过于复杂,你一眼看不出来,怎么办,比如在文言文中,有些出处或者偏难怪的文字,你是不是不理解?
那么怎么办呢?是不是就得有简单说明。
注释就是做这个的,我们来看一下怎么用
# 这个就是给这一行进行注释,注释后的代码不会执行
'''
这种的是多行注释, 什么是多行注释啊,其实很简单就是咱们注释的内容可以
进行换行
'''
看个示例:
# print('hello') 这样就是对这个代码进行注释,并且这个代码不会执行
'''
print(1)
print(2)
这种就是多行注释,这样的注释也不会执行
'''
2.5 基础数据类型:
什么是数据类型?
我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,今天我们暂只讲3种, 数字、字符串、布尔类型
int是整型;也就是我们从小就接触的数学中的整数,整型在计算机中运于计算和比较
在32位机器上int的范围是: -231~231-1,即-2147483648~2147483647
在64位机器上int的范围是: -263~263-1,即-9223372036854775808~9223372036854775807
够你用了吧. 注意这些是整数.
2.5.1 整型
num1 = 2
num2 = 3
print(num1 + num2)
# 结果: 5
# 整型就和我们学的数学一样可以进行加减乘除
str是字符串;也就是我们从小就接触的中文,如果我们在程序中直接把中文写入,程序是不能分辨这是个什么鬼东西.所以我们要遵循一种规则
让计算机能够识别,这个规则就是只要是用引号引起来就是字符串
在Python中,凡是用引号引起来的,全是字符 .
数字类型可以做运算,字符串可以吗??
2.5.2 字符串
字符串加法
#字符串的拼接
s1 = 'a'
s2 = 'bc'
print(s1 + s2)
字符串乘法
str*int name = '坚强'
print(name*8)
字符 可以用单引号,双引号,或者三引号引起来,没有什么区别,只是一些特殊的格式需要不用的引号 比如:
msg = "My name is Alex , I'm 22 years old!" 这个就需要单双引号配合。
msg =
""" 今天我想写首小诗,
歌颂我的同桌,
你看他那乌 的短发,
好像 一只炸毛鸡。
"""
想多 赋值一个字符 ,就需要三引号。
2.5.3 布尔值
bool是布尔值;其实这个东西也是我们很小就接触的东西,俗话说人要<是非分明>.其实这个bool值就是我们所说的是非,布尔值中一共分为俩个状态
True 就对应我们话中的是,白话来说就是真
False 就对应我们话中的非,白话来说就是假
例如我们想让计算机帮我们做一下俩个的大小比较
print(3>7)
结果: False
print(7>3)
结果: True
2.6 输入
你在一些网页和登QQ是不是常常遇到让你输入你的账户或者密码的情况,
这样的情况在程序中会大量的存在,接下来我就给大家讲这个功能
s = input('请输入你喜欢的东西')
input就是固定格式,他是输入的意思 括号里边的内容是提示是给用户看的提示语句,用户输入的内容让input接收了然后赋值给了字符串s
2.6.1 输入用户名
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#将用户输入的内容赋值给name变量
python2的写法
name = raw_input("请输入用户名:")
print name
python3的写法
name = input("请输入用户名:")
print(name)
需要注意的是input程序交互获取到的内容是字符串,我们看下面的简单示例:
num = input('请输入数字:')
print(num + 5)
结果:
请输入数字:6
Traceback (most recent call last):
File "D:/python_object/test.py", line 350, in <module>
print(num + 5)
TypeError: must be str, not int
报错了,提示我们类型错误,数字和字符串是不能相加的.可是我们输入的明明是数字啊.其实我们看着输入的是
数字但是input获取到的都是字符串
这个知识点用在哪里?
在工作中如果需要用户输入一些个人信息比如账号,密码,性别,爱好等,即是你需要将你输入的信息传递给程序当中,那么就需要用到用户交互input。
注意
在Python2 中使用raw_input 获取的都是字符串
在Python3 中使用input 获取的都是字符串
2.7 流程控制
你在生活中是不是经常遇到各种选择,比如玩色子,猜大小,比如选择走那条路回家?Python程序中也会遇到这种情况,这就用到了if语句。
这个功能就是Python中的流程控制语句if。
那么如何使用这个功能呢?(下面就是)
If 条件: #引号是将条件与结果分开。
结果。# 四个空格,或者一个tab键,这个是告诉程序满足这个条件的结果。
2.7.1 判断条件 if
age = input("输入年龄:")
if int(age) >= 18:
print("成年了,能干成年人的事了")
2.7.2 二选一 if else
age = input('请输入您的年龄:')
if int(age) > 18:
print('你可以去网吧尽情的嗨皮了')
else:
print('你现在还不行啊!')
以上这种写法是让用户输入内容,然后进行比较,如果一个条件成立那就执行print,为了明确的区分改执行哪些部分,当条件成立后执行缩进的代码
然后程序就退出了.下边的else就不会在执行了
2.7.3 多个选项进行单选(选择题) if elif
num = input('请输入要比较的数字:')
if int(num) >= 22:
print('可以扯证了')
elif int(num) >= 18:
print('成年了,可以干一些成年的事了')
elif int(num) < 18:
print('还是小屁孩')
以上写法就是我们做的单选题一样,三个分支判断中只要有个成立,其余都不在执行
2.7.4 嵌套if
name = input('请输入名字:')
if name == 'meet':
age = input('请输入年龄:')
if int(age) == 18:
print('输入全部正确')
else:
print('年龄输入错误!')
else:
print('名字输入错误!')
这样写法很常用,这样我们就可以明确的知道用户输入的名字和年龄那个是错误的,并且还做一个判断如果名字正确后在进行判断密码