赞
踩
本章内容:
Python 的种类 |
Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
PyPy(特殊)
Python实现的Python,将Python的字节码字节码再编译成机器码。
Python的对应关系和执行流程如下:
PyPy 在Python的基础上对Python的字节码进一步处理,从而提升执行速度!
Python 的环境 |
Windows:
下载地址:https://www.python.org/downloads/
Linux:
自带python环境
#python -V 查看python版本
nick-suo@ubuntu:~$ python -V
Python 2.7.6
nick-suo@ubuntu:~$ python3 -V
Python 3.4.0
nick-suo@ubuntu:~$
更新python环境
1、安装gcc,用于编译Python源码 yum install gcc 2、下载源码包,https://www.python.org/ftp/python/ 3、解压并进入源码文件 4、编译安装 ./configure make all make install 5、查看版本 /usr/local/bin/python2.7 -V 6、修改默认Python版本 mv /usr/bin/python /usr/bin/python2.6 ln -s /usr/local/bin/python2.7 /usr/bin/python 7、防止yum执行异常,修改yum使用的Python版本 vi /usr/bin/yum 将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6
Python 入门 |
一、‘Hello World!’
#python2的写法
print "Hello World!"
#python3的写法
print("Hello World!")
二、执行(解释器)、退出
明确的指出 hello.py 脚本由 python 解释器来执行。
nick-suo@ubuntu:/blogs$ cat hello.py
#!/usr/bin/env python
print("Hello World!")
nick-suo@ubuntu:/blogs$ sudo chmod +x hello.py
nick-suo@ubuntu:/blogs$ ./hello.py
Hello World!
nick-suo@ubuntu:/blogs$
#########################
程序可以通过抛出SystemExit异常来请求退出。
>>> raise SystemExit
三、编码
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存…
告诉python解释器,用什么编码来执行代码:
nick-suo@ubuntu:/blogs$ cat hello.py
#!/usr/bin/env python
#-\*- coding:utf-8 -\*-
print("你好 世界!")
nick-suo@ubuntu:/blogs$ python3 hello.py
你好 世界!
nick-suo@ubuntu:/blogs$
四、注释
单行注释:#Nick
多行注释:‘’‘Nick’‘’
#Nick
'''
Nick
Nick
Nick
'''
五、pyc文件
执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。
nick-suo@ubuntu:/blogs$ ls a.py\*
a.py a.pyc
nick-suo@ubuntu:/blogs$
六、脚步传入参数
Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数
#!/usr/bin/env python
#-\*- coding:utf-8 -\*-
import sys
print("sys.argv")
七、变量
1、声明变量
#!/usr/bin/env python
#-\*- coding:utf-8 -\*-
#声明变量name,值为"Nick"
name = "Nick"
变量的作用:昵称其代指内存里某个地址中保存的内容
变量定义的规则:
2、变量的赋值
#!/usr/bin/env python
#-\*- coding:utf-8 -\*-
name1 = "Nick"
name2 = "Suo"
#!/usr/bin/env python
#-\*- coding:utf-8 -\*-
name1 = "Nick"
name2 = name1
八、输入
输入用户名
#!/usr/bin/env python
#-\*- coding:utf-8 -\*-
#将用户输入的内容赋值给name变量
name = raw\_input("请输入用户名:")
print name
#python3的写法
name = input("请输入用户名:")
print(name)
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
#!/usr/bin/env python
#-\*- coding:utf-8 -\*-
import getpass
pwd = getpass.getpass("请输入密码:")
print(pwd)
九、流程控制与缩进
用户登录验证与输出相应内容
#!/usr/bin/env python #-\*- coding:utf-8 -\*- import getpass name = input("请输入用户名:") pwd = getpass.getpass("请输入密码:") if name == "nick" and pwd == "nick": print("Welcome, nick.") elif name == "Suo" and pwd == "Suo": print("Welcome, Suo.") elif name == "test": print("Hi, test.") else: print("Sorry, please try angin.")
十、while循环
1、基本循环
while 条件:
# 循环体
# 如果条件为真,那么循环则执行
# 如果条件为假,那么循环不执行
2、break
break 用于退出当层循环
#!/usr/bin/env python
#-\*- coding:utf-8 -\*-
num = 1
while num <6:
print(num)
num+=1
break
print("end")
3、continue
continue 用于退出当前循环,继续下一次循环
#!/usr/bin/env python
#-\*- coding:utf-8 -\*-
num = 1
while num <6:
print(num)
num+=1
continue
print("end")
练习题 |
求1-2+3-4+5 … 99的所有数的和
方法一:
num = 1
num2 = 2
num3 = num - num2
while True:
num+=2
num2+=2
num3 = num3 + num
if num == 99:
break
num3 = num3 - num2
print(num3)
方法二:
sum = 1 s = 0 while True: s = s + sum if sum == 99: break sum+=2 sum1 = 0 s1 = 0 while True: s1 = s1 + sum1 if sum1 == 98: break sum1 += 2 print(s - s1)
方法三:
sum = 0
start = 1
while start < 100:
temp = start % 2
if temp == 1:
sum = sum +start
else:
sum = sum - start
start += 1
print(sum)
s = "" sum = 0 start = 1 while start < 100: temp = start % 2 if temp == 1: if start == 1: s = str(start) else: s = s + "+" + str(start) sum = sum +start else: s = s + "-" + str(start) sum = sum - start start += 1 print(s) print(sum)
方法四:
sum=1
s=0
while sum<100:
s=s+sum\*(-1)\*\*(sum+1)
sum+=1
print(s)
方法五:
#排除99,剩余49组1-2 print(49\*(1-2)+99) ```本章内容: * Python 的种类 * Python 的环境 * Python 入门(解释器、编码、pyc文件、脚步传入参数、变量、输入、流程控制与缩进、while循环) * 练习题 <table style="height: 35px; width: 1127px; background-color: rgba(255, 204, 51, 1)" border="0"><tbody><tr><td><span style="font-family: 楷体; font-size: 18px"><strong><span style="color: rgba(255, 255, 255, 1)">Python 的种类</span></strong></span></td></tr></tbody></table> * **Cpython** Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。 * **Jyhton** Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。 * **IronPython** Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似) * **PyPy(特殊)** Python实现的Python,将Python的字节码字节码再编译成机器码。 * **RubyPython、Brython ..**. Python的对应关系和执行流程如下: ![](https://images2015.cnblogs.com/blog/425762/201510/425762-20151024113930614-2128955181.png)![](https://images2015.cnblogs.com/blog/425762/201510/425762-20151024114048849-189055880.png) PyPy 在Python的基础上对Python的字节码进一步处理,从而提升执行速度! ![](https://images2015.cnblogs.com/blog/425762/201510/425762-20151024114724817-2135944387.png) <table style="height: 34px; width: 1118px; background-color: rgba(255, 204, 51, 1)" border="0"><tbody><tr><td><span style="color: rgba(255, 255, 255, 1); font-size: 18px; font-family: 楷体">Python 的环境</span></td></tr></tbody></table> **Windows:** 下载地址:https://www.python.org/downloads/ **Linux:** 自带python环境
#python -V 查看python版本
nick-suo@ubuntu:~$ python -V
Python 2.7.6
nick-suo@ubuntu:~$ python3 -V
Python 3.4.0
nick-suo@ubuntu:~$
更新python环境
1、安装gcc,用于编译Python源码
yum install gcc
2、下载源码包,https://www.python.org/ftp/python/
3、解压并进入源码文件
4、编译安装
./configure
make all
make install
5、查看版本
/usr/local/bin/python2.7 -V
6、修改默认Python版本
mv /usr/bin/python /usr/bin/python2.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
7、防止yum执行异常,修改yum使用的Python版本
vi /usr/bin/yum
将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6
<table style="height: 30px; width: 1107px; background-color: rgba(255, 204, 51, 1)" border="0"><tbody><tr><td><span style="color: rgba(255, 255, 255, 1); font-size: 18px; font-family: 楷体">Python 入门</span></td></tr></tbody></table>
**一、'Hello World!'**
#python2的写法
print “Hello World!”
#python3的写法
print(“Hello World!”)
**二、执行(解释器)、退出**
明确的指出 hello.py 脚本由 python 解释器来执行。
nick-suo@ubuntu:/blogs$ cat hello.py
#!/usr/bin/env python
print(“Hello World!”)
nick-suo@ubuntu:/blogs$ sudo chmod +x hello.py
nick-suo@ubuntu:/blogs$ ./hello.py
Hello World!
nick-suo@ubuntu:/blogs$
#########################
程序可以通过抛出SystemExit异常来请求退出。
raise SystemExit
**三、编码** python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2\*\*8 = 256,所以,ASCII码最多只能表示 256 个符号。 显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 \*\*16 = 65536, 注:此处说的的是最少2个字节,可能更多 UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存... 告诉python解释器,用什么编码来执行代码:
nick-suo@ubuntu:/blogs$ cat hello.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
print(“你好 世界!”)
nick-suo@ubuntu:/blogs$ python3 hello.py
你好 世界!
nick-suo@ubuntu:/blogs$
**四、注释**
单行注释:#Nick
多行注释:'''Nick'''
#Nick
‘’’
Nick
Nick
Nick
‘’’
**五、pyc文件**
执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。
nick-suo@ubuntu:/blogs$ ls a.py*
a.py a.pyc
nick-suo@ubuntu:/blogs$
**六、脚步传入参数**
Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:
* Python内部提供的模块
* 业内开源的模块
* 程序员自己开发的模块
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
print(“sys.argv”)
**七、变量**
1、声明变量
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#声明变量name,值为"Nick"
name = “Nick”
变量的作用:昵称其代指内存里某个地址中保存的内容
![](https://images2015.cnblogs.com/blog/932699/201604/932699-20160428214041048-315749411.png)
变量定义的规则:
* 变量名只能是 字母、数字或下划线的任意组合
* 变量名的第一个字符不能是数字
* 以下关键字不能声明为变量名
* \['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'\]
2、变量的赋值
#!/usr/bin/env python
#-*- coding:utf-8 -*-
name1 = “Nick”
name2 = “Suo”
![](https://images2015.cnblogs.com/blog/932699/201604/932699-20160428214238361-1627027251.png)
#!/usr/bin/env python
#-*- coding:utf-8 -*-
name1 = “Nick”
name2 = name1
![](https://images2015.cnblogs.com/blog/932699/201604/932699-20160428214355127-335369088.png)
**八、输入**
输入用户名
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#将用户输入的内容赋值给name变量
name = raw_input(“请输入用户名:”)
print name
#python3的写法
name = input(“请输入用户名:”)
print(name)
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import getpass
pwd = getpass.getpass(“请输入密码:”)
print(pwd)
**九、流程控制与缩进**
**![](https://images2015.cnblogs.com/blog/932699/201604/932699-20160428232234845-75349233.png)**
用户登录验证与输出相应内容
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import getpass
name = input(“请输入用户名:”)
pwd = getpass.getpass(“请输入密码:”)
if name == “nick” and pwd == “nick”:
print(“Welcome, nick.”)
elif name == “Suo” and pwd == “Suo”:
print(“Welcome, Suo.”)
elif name == “test”:
print(“Hi, test.”)
else:
print(“Sorry, please try angin.”)
**十、while循环**
![](https://images2015.cnblogs.com/blog/932699/201604/932699-20160428215712970-174343165.gif)
1、基本循环
while 条件:
# 循环体
# 如果条件为真,那么循环则执行
# 如果条件为假,那么循环不执行
2、break
break 用于退出当层循环
#!/usr/bin/env python
#-*- coding:utf-8 -*-
num = 1
while num <6:
print(num)
num+=1
break
print(“end”)
3、continue
continue 用于退出当前循环,继续下一次循环
#!/usr/bin/env python
#-*- coding:utf-8 -*-
num = 1
while num <6:
print(num)
num+=1
continue
print(“end”)
<table style="height: 39px; width: 1121px; background-color: rgba(255, 204, 51, 1)" border="0"><tbody><tr><td><span style="font-size: 18px; font-family: 楷体"><strong><span style="color: rgba(255, 255, 255, 1)">练习题</span></strong></span></td></tr></tbody></table>
**求1-2+3-4+5 ... 99的所有数的和**
方法一:
num = 1
num2 = 2
num3 = num - num2
while True:
num+=2
num2+=2
num3 = num3 + num
if num == 99:
break
num3 = num3 - num2
print(num3)
方法二:
sum = 1
s = 0
while True:
s = s + sum
if sum == 99:
break
sum+=2
sum1 = 0
s1 = 0
while True:
s1 = s1 + sum1
if sum1 == 98:
break
sum1 += 2
print(s - s1)
方法三:
sum = 0
start = 1
while start < 100:
temp = start % 2
if temp == 1:
sum = sum +start
else:
sum = sum - start
start += 1
print(sum)
s = “”
sum = 0
start = 1
while start < 100:
temp = start % 2
if temp == 1:
if start == 1:
s = str(start)
else:
s = s + “+” + str(start)
sum = sum +start
else:
s = s + “-” + str(start)
sum = sum - start
start += 1
print(s)
print(sum)
方法四:
sum=1
s=0
while sum<100:
s=s+sum*(-1)**(sum+1)
sum+=1
print(s)
方法五:
#排除99,剩余49组1-2
print(49*(1-2)+99)
完整版的Python全套学习资料
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。