标签:
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。
最新的TIOBE排行榜,Python赶超PHP占据第五, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。
由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!!
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
目前Python主要应用领域:
Python在一些公司的应用:
为什么是Python而不是其他语言?
C 和 Python、Java、C#等
C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作
其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行
Python 和 C Python这门语言是由C开发而来
对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.
对于速度:Python的运行速度相较与C,绝逼是慢了
Python 和 Java、C#等
对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持
对于速度:Python在速度上可能稍显逊色
所以,Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。
Python的种类
python2* 支持 print print()两种形式
python3* 只能用print()形式
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#pyversion:python3.5
#owner:fuzj
name = input("your name: ") age = int(input("your age: ")) job = input("your job: ") print("name:" ,name,"age:",age,"job:" , job) msg=‘‘‘ Information of %s name: %s age: %d job: %s‘‘‘ % (name,name,age,job) print(msg) #直接打印 print(‘‘‘ name: {0} age: {1} job: {2} ‘‘‘.format(name,age,job)) 效果: your name: fuzj your age: 24 your job: Linux name: fuzj age: 24 job: Linux Information of fuzj name: fuzj age: 24 job: Linux name: fuzj age: 24 job: Linux
用户输入:input / raw_input
python2* 会把用户的输入的字符串当作变量处理, python3* 会把用户的输入当作普通字符串
只适合python2* 把用户的输入当作普通字符串
Python 2.7.10 (default, Jul 14 2015, 19:46:27) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> rs = raw_input("Please Input: ") Please Input: fuzj >>> print rs fuzj >>> print type(rs) <type ‘str‘> >>> rs = input("Please Input: ") #输入报错,因为找不到asd这个变量 Please Input: asd Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name ‘asd‘ is not defined >>> name = "asd" #先定义好name变量。下面再直接引用 >>> rs = input("Please Input: ") Please Input: name >>> print rs asd >>> print type(rs) <type ‘str‘>
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> rs = raw_input("Please Input: ") #这个内置函数已没有 Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name ‘raw_input‘ is not defined >>> rs = input("Please Input: ") Please Input: asd >>> print(rs) asd >>> name = "asd" >>> rs = input("Please Input: ") Please Input: name >>> print(rs) name
#!/usr/bin/env python # -*- coding: UTF-8 -*- #pyversion:python3.5 #owner:fuzj info = {"fuzj":"123123","jeck":"123123"} user = input("Username: ") passwd = input("Password: ") if user in info.keys() and passwd == info[user]: print("Username is correct...") print("Welcome to Login....") else: print("Username or Password is invalid...")
效果:
python3 login.py
Username: fuzj
Password: 123123
Username is correct...
Welcome to Login....
python3 login.py
Username: fuzj
Password: 454545
Username or Password is invalid...
还可以输入时隐藏密码: 使用getpass模块
#!/usr/bin/env python # -*- coding: UTF-8 -*- #pyversion:python3.5 #owner:fuzj import getpass info = {"fuzj":"123123","jeck":"123123"} user = input("Username: ") passwd = getpass.getpass("Password: ") if user in info.keys() and passwd == info[user]: print("Username is correct...") print("Welcome to Login....") else: print("Username or Password is invalid...")
ascii-->unicode-->utf-8
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码,python2* 默认使用ascii 编码,而python3* 默认使用unicode编码
如,在python2 里不声明字符编码的话,输出中文就会报错
#!/usr/bin/env python print "北京欢迎你" 效果: File "test.py", line 3 SyntaxError: Non-ASCII character ‘\xe5‘ in file test.py on line 3, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
声明字符编码之后,即可正常显示
#!/usr/bin/env python # -*- coding: UTF-8 -*- print "北京欢迎你" 效果: 北京欢迎你
python3里不需要声明,默认使用utf-8
当行注视:# 被注释内容
多行注释:""" 被注释内容 """
变量命名规则:
1.只能是字母\数字或下划线组合的任意组合
2.不能是特殊字符\数字开头
3.不能是下面关键字开头
[‘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‘]
标签:
原文地址:http://www.cnblogs.com/pycode/p/5484596.html