Python是一种面向对象、直译式的电脑程序语言。它包含了一组功能完备的标准库,可以轻松完成不少常见的任务。它的语法简单,与其它大多数程序设计语言使用大括号不同,它使用缩进来定义语句块。
Python能够应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎全部大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。html
优势:java
缺点:python
当咱们编写Python代码时,咱们获得的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就须要Python解释器去执行.py文件。
因为整个Python语言从规范到解释器都是开源的,因此理论上,只要水平够高,任何人均可以编写Python解释器来执行Python代码(固然难度很大)。事实上,确实存在多种Python解释器。
linux
当咱们从Python官方网站下载并安装好Python 2.7后,咱们就直接得到了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,因此叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的全部代码也都在CPython下执行。c++
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所加强,可是执行Python代码的功能和CPython是彻底同样的。比如不少国产浏览器虽然外观不一样,但内核其实都是调用了IE。
CPython用>>>做为提示符,而IPython用In [序号]:做为提示符。算法
PyPy是另外一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),因此能够显著提升Python代码的执行速度。
绝大部分Python代码均可以在PyPy下运行,可是PyPy和CPython有一些是不一样的,这就致使相同的Python代码在两种解释器下执行可能会有不一样的结果。若是你的代码要放到PyPy下执行,就须要了解PyPy和CPython的不一样点。vim
Jython是运行在Java平台上的Python解释器,能够直接把Python代码编译成Java字节码执行。数组
IronPython和Jython相似,只不过IronPython是运行在微软.Net平台上的Python解释器,能够直接把Python代码编译成.Net的字节码。浏览器
(注)Python的解释器不少,但使用最普遍的仍是CPython。若是要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是经过网络调用来交互,确保各程序之间的独立性。网络
linux环境自带python2.6
下面对python2.6进行升级
1 1、解压源码包 2 tar xvf Python-2.7.9.tar.xz 3 2、1、安装gcc,用于编译Python源码 4 yum install gcc -y 5 3、编译安装 6 cd Python-2.7.9 7 ./configure 8 make && make install 9 4、查看python版本 10 /usr/local/bin/python2.7 -V 11 Python 2.7.9 12 5、修改默认python版本 13 mv /usr/bin/python /usr/bin/python26 14 ln -s /usr/local/bin/python2.7 /usr/bin/python 15 6、防止yum报错,修改yum使用的python版本 16 vim /usr/bin/yum 17 #!/usr/bin/python 修改成 #!/usr/bin/python26
1 print("hello world")
声明变量
name = "Jax Zhai"
上述代码声明了一个变量,变量名为: name,变量name的值为:"Jax Zhai"
变量定义的规则:
变量的赋值:
1 name = "Jax Zhai" 2 3 name2 = name 4 print(name,name2) 5 6 name = "Peter" 7 8 print("What is the value of name2 now?")
1 import getpass 2 3 _username = "zhaikun" 4 _passwd = "zhaikun" 5 6 username = input("username:") 7 passwd = input("passwd:") 8 #PyCharm 不知道getpass 因此用明文。 9 #passwd = getpass.getpass("passwd:") 10 11 if _username == username and passwd == _passwd: 12 print("Welcome user {name} login..".format(name=_username)) 13 else: 14 print("Invalid username or password")
场景一:用户登陆
1 import getpass 2 Username = input('请输入用户名:') 3 Password = getpass.getpass('请输入密码:') 4 5 if Username == "Jax" and Password == "Jax": 6 print ("欢迎!",Username) 7 else: 8 print("您输入的用户名货或密码不正确!!")
场景二:猜数字游戏
1 Daniwai_AGE = 26 2 Guess_AGE=int (input("GuessAge:")) 3 4 if Daniwai_AGE == Guess_AGE : 5 print("yes,you got it!") 6 elif Daniwai_AGE > Guess_AGE : 7 print ("guess bigger") 8 else: 9 print("guess sammer")
循环10次
1 #_*_coding:utf-8_*_ 2 __author__ = 'Jax Zhai' 3 4 for a in range(10): 5 print(a)
输出:
1 loop: 0 2 loop: 1 3 loop: 2 4 loop: 3 5 loop: 4 6 loop: 5 7 loop: 6 8 loop: 7 9 loop: 8 10 loop: 9
需求一:仍是上面的程序,可是遇到小于5的循环次数就不走了,直接跳入下一次循环
1 for a in range(10): 2 if a<5: 3 continue # 4 5 print("loop:",a)不往下走了,直接进入下一次loop
需求二:仍是上面的程序,可是遇到大于5的循环次数就不走了,直接退出
1 for a in range(10): 2 if a>5: 3 break # 4 5 print("loop:",a)不往下走了,直接跳出整个loop
continue 跳出本次循环进入下次循环,break是结束整个循环
场景:猜数字
限制猜的次数为3次,3次没猜对, 就退出程序
1 Daniwai_AGE = 26 2 3 for a in range(3): 4 5 Guess_AGE=int (input("GuessAge:")) 6 7 if Daniwai_AGE == Guess_AGE : 8 print("yes,you got it!") 9 break 10 elif Daniwai_AGE > Guess_AGE : 11 print ("guess bigger") 12 else: 13 print("guess sammer") 14 15 else: 16 print("you have too many times ,fuck off")
场景:编写登录接口
1 import getpass 2 for a in range(3): 3 Username = input('请输入用户名:') 4 Password = getpass.getpass('请输入密码:') 5 6 if Username == "Jax" and Password == "Jax": 7 print ("欢迎!",Username) 8 break 9 else: 10 print("您输入的用户名货或密码不正确!!") 11 else: 12 print("您输入次数太多,已锁定")
有一种循环叫死循环,一经触发,就运行个天荒地老、海枯石烂。
海枯石烂代码
count = 0 while True: print("你是风儿我是沙,缠缠绵绵到天涯...",count) count +=1
上面的代码循环1000次就退出吧
1 count = 0 2 while True: 3 print("你是风儿我是沙,缠缠绵绵到天涯...",count) 4 count +=1 5 if count == 100: 6 print("去你妈的风和沙,大家这些脱了裤子是人,穿上裤子是鬼的臭男人..") 7 break
while实现猜数字游戏
1 Daniwai_AGE = 26 2 count = 0 3 while count <3: 4 Guess_AGE=int (input("GuessAge:")) 5 6 if Daniwai_AGE == Guess_AGE : 7 print("yes,you got it!") 8 break 9 elif Daniwai_AGE > Guess_AGE : 10 print ("guess bigger") 11 else: 12 print("guess sammer") 13 count +=1 14 else: 15 print("you have too many times. fuck off")
int(整型)
注:Python中存在小数字池:-5 ~ 257
"hello world"
1 name = input("name:") 2 age = input("age:") 3 job = input("job:") 4 5 INFO=''' 6 --------info of %s -------- 7 Name: %s 8 Age: %s 9 job: %s 10 11 ''' % (name,name,age,job) 12 13 print(INFO)
14 #%d 字符类型为整型 %s字符类型为字符串 15 name = input("name:") 16 age = int(input("age:") ) 17 print (type(age),type(str(age))) 18 job = input("job:") 19 20 INFO=''' 21 --------info of %s -------- 22 Name: %s 23 Age: %d 24 job: %s 25 ''' % (name,name,age,job) 26 27 INFO2 = ''' 28 --------info of {_name} -------- 29 Name: {_name} 30 Age: {_age} 31 job: {_job} 32 33 '''.format(_name=name, 34 _age=age, 35 _job=job,) 36 37 INFO3 = ''' 38 --------info of {0} -------- 39 Name: {0} 40 Age: {1} 41 job: {2} 42 '''.format(name,age,job) 43 print(INFO3)
PS: 字符串是 %s;整数 %d;浮点数%f
三元运算
>>> a,b,c = 1,2,5 >>> d = a if a >b else c #若是a>b成立,d=a,反之等于c >>> d 5 >>> d = a if a <b else c >>> d 1 >>