简介:
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.字符串常用操作
移除空白
分割
长度
索引
切片
5.列表
索引
切片
追加
删除
长度
切片
循环
包含
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.成员运算符
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