初始python
1什么是程序
计算机程序是一组执行某种动作的的指令。和那些电路、芯片、显卡、硬盘等不同,它不是计算机本身可以触摸的部分,而是隐藏在背后运行在硬件上面的东西。程序就是一系列告诉没有知觉的硬件该做什么事情的命令。软件就是这些程序的集合。
2.用什么来构造程序呢?
和人类之间沟通一样,计算机之间也是通过语言进行沟通的。这里所说的语言就是编程语言(编写程序的语言),每一种编程语言就是一种和计算机打交道的方法。就如英语,德语,法语,中文等。每一种编程语言就像各个国家的国语一样会有名字。有些采用首字母,有些采用简写,甚至还有一些采用电视剧命名,如python语言。python语言采用著名的英剧《蒙提.派森的飞行马戏团》。
3.python的由来
python是1989年圣诞节期间,Guido von Rossum为了打发无聊的时间而进行编写的。目的是开发一个全新的脚本语言作为ABC语言的一种继承。
4.为什么选择python语言?
1.python是广泛认同最容易学习的语言,它为了让程序员把精力都放在逻辑分析上面而不像c和c++那样拥有太多复杂的语法而使开发效率下降。
2.python拥有大量的库和函数,使得开发时大大的为程序员提供了方便。
3.python在图像处理,数据挖掘,爬虫,人工智能方面的应该都极为广泛,由于其开发时语法简单,可以快速实现算法。不用过多的纠结语法。
下图是python近几年的运用程度。
并且python在许多巨头企业都有运用,比如Google,Facebook,NASA,知乎,腾讯,豆瓣,百度等几乎99%的中大型互联网公司都有其运用,再加上其强大的跨平台能力,也被称为胶水语言,在后台优化处理上有着自己的优势。
5.python的劣势
python是出了名的慢,相对其他语言虽然开发效率高但是也是出了名的慢,这一点将来python精通以后可以学习c和c++将其嵌套在里面,达到提速的效果,一旦开发成功以后,再将其嵌套。那就是件完美的作品。不仅开发效率高,并且速度也不慢。
6、python的种类
同样是python也会有各种各样的。
cpython:将源码转换为c的字节码,然后运行在python的虚拟机(python内置的一种程序)上面。这一类是python的官方版本也是应该最为广泛的一类。
Jpython:将源码转换为Java的字节码,然后在JVM上面运行。
pypy这是python的一个特殊类。它是边写边编译字节码的虽然比其语言看起来编译过程要慢。但是当它编写完以后就直接是字节码,可以之间翻译为机器码,不用再象其它语言那样把源代码再转换为字节码。速度是最接近cpython的。因为c转换为机器码是除了汇编语言以外最快的。
7.安装pytho环境
1、window环境
输入网址www,python.org,进入官网页面
点击上图的Downloads
选择windows里面的版本确定以后点击download即可进行下载。
注意选择自己电脑适合的版本如系统和位数
注意:如果你下载的版本是3.5在安装的时候,第一个界面的最下面会有提示问你是否安装环境变量这个一定要打勾
如果你是2.7版本就要到计算机的属性里面的高级设置里去改环境变量
把上图中的path里面的末尾添加c:\python27然后保存。这样才能在终端使用2.7和3.5版本,由于系统默认的是2.7并且3.5在默认安装环境变量以后再path里面是不显示的,所以如果你要用3.5就把2.7的环境变量删除以后点击保存就可以用3.5了。同理添加就可以用2.7了。也可以直接在终端直接执行3.5。
2.Linux环境自带python这也是python受欢迎的一个原因。
8.python入门
让我们一起来吟唱那句古老而神秘的咒语hello world
1.print ('hello world')
在c:\homework\day_1.py文件里面保存这个代码然后在python解释器里面直接执行含有这个代码的.py文件即可
如果不想输入上述的路径,想要直接实现则需要在文件的开头加上
1.#!/usr/bin/env python
2.
3.print('hello world')
这样直接执行./day_1.py文件即可(针对Linux系统,windows无效)
9.关于编码问题
由于计算机是由美国人发明的所以编码问题最开发只是采用的ascii码的方式进行编译即所有的字母,字符,数字采用8位即可。总共是2**8个表示形式
后来计算机火遍全球,所以各个国家的语言加入进来显然2的8次方中表示方法已近不够用,最后延伸出来新的编码规矩就是Unicode。
但是Unicode由于最少站两个字节即16位来存数据明显有过多的浪费,明明一个字节的结果用了两个。对内存产生的不好的影响,所以经过改进产生的utf-8和GBK两个优化的新编码规矩。
python便是采用utf-8这种规格。
utf-8采用ascii码里面的字符是一个字节,欧洲字符是两个字节,东亚的字符是三个字节
由于python2.7默认的是ascii编码所以一下代码无法执行
1.#!/usr/bin/env python
2.
3.print('你好 世界')
但是如果在前面编写代码之前告诉python解释器你要用什么规矩来编码就可以实现
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.print('你好 世界')
由于python3.5默认的是utf-8这种方式所以就不用改直接输出汉子即可
注意:#表示被注释掉的行 不参与代码的执行
10.python有很多的模块,主要分成三组
1组:内部自身提供的模块
2组:业内开源的模块
3组:程序员自己开发的模块
比如画图的代码
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.import turtle
4.turtle.pen()
5.turtle.forward()
导入的是内部的turtle模块 让python帮你在计算机上面简单的进行画图forward()和left()都是模块里面的函数
11.什么是pyc文件
python每次执行完.py文件以后都会在计算机上面生成一个.pyc文件。这个就是编译好的字节码文件。以后电脑执行这个.py文件的时候就先去找.pyc文件。直接让其翻译成机器码,不会再重复先翻译成.pyc文件,让开发速度提高减少cup的工作负担。
12.什么是变量
在编程语言中有字符串和数字和布尔值True,False(注意这两个值都是必须要大写的)True代表真值,False代表假值
name='liu yun xiang'#字符串用引号把内容括起来
pwd=1231231231#数字
这些字符串和数字往往都要赋值给一个变量
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
1.name='xiang'
2.pwd=123
上述中name和pwd都为变量
变量是用来指代内存里面某个地址保存的内容。
变量只能由数字,下划线,字母组成。并且数字不能在第一个。python里面的关键字是不能作为变量的,例如import、if、and、or、等
13.变量在内存里面的表现形式
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name1='wupeiqi'
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name1='wupiqi'
4.name2='alex'
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name1='wupeiqi
4.name2=name1 '
注意:name2原来的值alex当name2变为name1以后 alex这个值就会被python解释器处理掉 不一定在内存里面了
14.输入程序
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name=input('输入的内容')
4.print(name)
在执行程序的时候在输入内容的地方输入代码,代码的值就会赋给name,最后再输出name。且name为字符串
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name=int(input('输入的内容'))
3.print(name)
同上只不过输出的不 再是字符串,而是整形。
15.if语句的应用
if语句在python里面作为常用语句,其功能就是判断是否满足条件,如果满足就执行 如果不满足就执行else:
1.name='xiang'
2.if name=='xiang':
print(123)
3.else:
print(456)
如果满足条件name等于字符串'xiang'则输出123,否则输出456
当有多个条件的时候:
1.name='xiang'
2.if name=='xiang':
print(123)
3.elif name=='liu':
print(3123)
4.elif name=='yun':
print(999)
5.else:
print(456)
满足if或者elif是执行其中代码,如果都不满足执行else:
注意:if后面的条件可以任意变化,以满足代码要求
16.while循环语句
除了if以外还有一个常用的循环,while循环,里面有continue和break两种
1.continue(退出当前循环)
1.x=0#输入一个变量x并且把它赋值为0。
2.while<10:#进入while<10的循环。
3.if x==7#进入条件语句判断变量是否为7,如果等于7 由于continue退出当前循环。
continue
4.print(x)#打印x
5.x=x+1#x+1以后再赋值给x
注意while循环无法做到自己增加变量值如果不用x+=1改变变量值就好进入一个死循环不停的打印0.当我们增加了if...continue这个条件以后当x变量增加到7的时候。退出当前循环,由于不执行下面的代码print(i)和x=x+1.所以x一直是7,当x为7再次进入while里面的时候又执行了continue。所以就产生了死循环。打印的结果为0 1 2 3 4 5 6.
如果想让while继续循环就需要改动一下
1.x=0#输入一个变量x并且把它赋值为0。
2.while<10:#进入while<10的循环。
3.if x==7#进入条件语句判断变量是否为7,如果等于7 由于continue退出当前循环。
x+=1
continue
4.print(x)#打印x
5.x=x+1#x+1以后再赋值给x
2.break退出整个循环
1.x=0#输入一个变量x并且把它赋值为0。
2.while<10:#进入while<10的循环。
3.if x==7#进入条件语句判断变量是否为7,如果等于7 由于continue退出当前循环。
break#永远退出该循环
4.print(x)#打印x
5.x=x+1#x+1以后再赋值给x
如果在while循环的时候遇到了break。循环就直接跳出,并且不会再进入该循环
注意:while后面跟的条件为真的时候才会进入循环,为假永远都不会进入.
17.python的终端执行代码
注意python和执行路径之间有一个空格。