本章内容:

  • Python 的种类
  • Python 的环境
  • Python 入门(解释器、编码、pyc文件、脚步传入参数、变量、输入、流程控制与缩进、while循环)
  • 练习题
Python 的种类
  • 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的对应关系和执行流程如下:

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内部提供的模块
  • 业内开源的模块
  • 程序员自己开发的模块

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"

变量的作用:昵称其代指内存里某个地址中保存的内容

变量定义的规则:

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
  • ['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"

#!/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基础(一)的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  3. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  4. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  7. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  8. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  10. python基础之编码问题

    python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...

随机推荐

  1. SDWebImage源码解读之SDWebImageDownloaderOperation

    第七篇 前言 本篇文章主要讲解下载操作的相关知识,SDWebImageDownloaderOperation的主要任务是把一张图片从服务器下载到内存中.下载数据并不难,如何对下载这一系列的任务进行设计 ...

  2. JavaScript 字符串实用常操纪要

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  3. Convert BSpline Curve to Arc Spline in OpenCASCADE

    Convert BSpline Curve to Arc Spline in OpenCASCADE eryar@163.com Abstract. The paper based on OpenCA ...

  4. ubuntu如何安装nodejs最新版 本

    如何正确的安装nodejs? 我们可以先安装nvm, git clone https://github.com/creationix/nvm.git ~/.nvm 然后打开 ~/.bashrc ,   ...

  5. fir.im Weekly - 关于 iOS10 适配、开发、推送的一切

    "小程序"来了,微信变成名副其实的 Web OS,新一轮的Web App 与Native App争论四起.程序员对新技术永远保持灵敏的嗅觉和旺盛的好奇心,@李锦发整理了微信小程序资 ...

  6. 微信小程序体验(1):携程酒店机票火车票

    在 12 月 28 日微信公开课上,张小龙对微信小程序的形态进行了阐释,小程序有四个特定:无需安装.触手可及.用完即走.无需卸载. 由于携程这种订酒店.火车票和机票等工具性质非常强的服务,非常符合张小 ...

  7. Android—ListView条目背景为图片时,条目间距问题解决

    ListView是android开发中使用最普遍的控件了,可有的listView条目的内容颇为丰富,甚至为了美观,背景用指定图片,如下图:

  8. Android 解析XML文件和生成XML文件

    解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...

  9. swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明

    关于 swift 中的open ,public ,fileprivate,private, internal的区别 以下按照修饰关键字的访问约束范围 从约束的限定范围大到小的排序进行说明 open,p ...

  10. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...