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('名字输入错误!')

这样写法很常用,这样我们就可以明确的知道用户输入的名字和年龄那个是错误的,并且还做一个判断如果名字正确后在进行判断密码

原文地址:https://www.cnblogs.com/Leon27-29/p/12168649.html