简介:

    Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

编译性语言

    编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。(C、C++、java)

解释性语言

  解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性java语言,专门有一个解释器能够直接执行java程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。(java、php、perl、python)

脚本语言

   脚本语言是解释性语言。脚本语言一般都有相应的脚本引擎来解释执行。它们一般需要解释器才能运行。所以只要系统上有相应语言的解释程序就可以做到跨平台。脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在。(vbscript,javascript,installshield script)

动态语言和静态语言

通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。

(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

强类型定义语言和弱类型定义语言

(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!

例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。

python是一门动态解释性的强类型定义语言。

一、python3安装

下载地址:

windows安装方法

1. 下载下来之后双击安装,安装时一路下一步下一步即可(根据自定义路径)

2. 配置环境变量

右键计算机 —> 属性 —> 高级系统设置 —> 高级 —> 环境变量 —> 在第二个内容框中找到变量名为Path的一行,双击 —> Python安装目录追加到变值值中,用;分割

centos7安装升级方法

yum -y install readline-devel patch readline gcctar xvf Python-3.5.tgzcd Python-3.5./configure --prefix=/usr/local/python35make && make installmv /usr/bin/python /usr/bin/python_old ln -s /usr/local/python35/bin/python /usr/bin/tar zxvf setuptools-1.6.2.tar.gzcd setuptools-1.6.2python setup.py buildpython setup.py installtar zxvf readline-7.2.4.1.tar.gzcd readline-7.2.4.1python setup.py buildpython setup.py installvi /usr/bin/yum#!/usr/bin/python2.7

二、python入门

创建.py结尾文件并运行

[root@localhost ~]# cat hello.py  #!/usr/bin/env python print ("Hello World!") [root@localhost ~]# python hello.py  Hello World!

第一行#!/usr/bin/env python设置环境变量

第二行print ("Hello World!")以函数打印Hello World!

python2中使用print "Hello World!"为语句输出;

三、代码流程

    Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行;字节码在Python虚拟机程序里对应的是PyCodeObject对象。

    .pyc文件是字节码在磁盘上的表现形式;当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

四、变量与字符编码

变量定义的规则:

变量名只能是 字母、数字或下划线的任意组合

变量名的第一个字符不能是数字

以下关键字不能声明为变量名

['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']

>>> work = "IT" >>> work 'IT'

声明了一个变量,定义一个变量名为”work“,变量名的值为:“IT”

字符编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。

python制定字符编码的方式有多种,而编码格式是要写在解释器的下面的,常用的如下面二种:

第一种

#!/usr/bin/env python

#coding:utf-8

第二种

#!/usr/bin/env python

# -*- coding:utf-8 -*-

代码注释

#单行注释

多行注释""" work test"""

五、数据类型

1.字符串

定义字符串类型是需要用单引号或者双引号包起来

>>> name = 'patrick' >>> print(type(name)) 

2.数字(直接跟数字,不要用双引号包起来)

>>> year = 2016 >>> print(type(year)) 

3.布尔值(真or假 1或者0)

>>> if True: ...   print ("0") ... else: ...   print ("1") ...  0

4.字符串常用操作

  1. 移除空白

  2. 分割

  3. 长度

  4. 索引

  5. 切片

5.列表

  1. 索引

  2. 切片

  3. 追加

  4. 删除

  5. 长度

  6. 切片

  7. 循环

  8. 包含

6.元组(不可变列表)

>>> year = (2012,2013,2014,2015) >>> year (2012, 2013, 2014, 2015)

7.字典

person = {"name": "mr.wu", 'age': 18}

或者

person = dict({"name": "mr.wu", 'age': 18})

用操作:

  1. 索引

  2. 新增

  3. 删除

  4. 键、值、键值对

  5. 循环

  6. 长度

八、数值运算

1.算数运算符

2.比较运算符

3.赋值运算符

4.位运算符

5.逻辑运算符

6.成员运算符

7.身份运算符

8.运算符优先级

九、for、if、while使用

for循环列表使用

>>> data = [1,2,3,4,5,6]>>> for i in data:...   print(i,end='\n')... 123456

if使用

#!/usr/bin/env python#-*- coding:utf-8 -*-# 该实例演示了数字猜谜游戏number = 7guess = 0print("数字猜谜游戏!")while guess != number:    guess = int(input("请输入你猜的数字:"))    if guess == number:        print("恭喜,你猜对了!")    elif guess < number:        print("猜的数字小了...")    elif guess > number:        print("猜的数字大了...")

while使用

#!/usr/bin/env python#-*- coding:utf-8 -*-#author patrickimport getpasscount = 3flage = "True"while flage:	username = input("please input your name: ")	passwd = getpass.getpass("please input your password: ")	if username=="patrick" and passwd=="123":		print("welcome to %s" % username)		break	else:		if count == 1:			flage = False		else:			count-=1			print("you have %s chaces!" % (count))

break跳出当前循环体,下面代码不再执行,继续执行循环后面的代码

continue 跳出本次循环,继续下一次循环

python小练习(打印1+..+9)和

awk思路:

root@data:~# awk -vc=9 'BEGIN{for(i=1;i<=c;i++){s=s?s"+"i:i;t+=i;print (i==1)?"1":s"="t}}'11+2=31+2+3=61+2+3+4=101+2+3+4+5=151+2+3+4+5+6=211+2+3+4+5+6+7=281+2+3+4+5+6+7+8=361+2+3+4+5+6+7+8+9=45

python思路

#!/usr/bin/python__author__ = 'Patrick'import sysif __name__ == "__main__":    print ('Please input a int:')    n = int(input('> '))    i = 1    s = 0    while i <= n:        j = 1        while j <= i:            if j < i:                sys.stdout.write(str(j)+'+')            else:                sys.stdout.write(str(j))                s += j                print (" " + '= {0}'.format(s))            j += 1        i += 1