Python 学习笔记1
1.Python2.x与3.x版本区别
2.常量与变量
3.if elif else
4.注释
5.用户交互
6.字符串拼接
7.文件扩展名
8.缩进
9.运算符
10.while循环
Python2.x与3.x版本区别
Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。
为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。
许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。
为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。
新的Python程式建议使用Python 3.0版本的语法。
除非执行环境无法安装Python 3.0或者程式本身使用了不支援Python 3.0的第三方库。目前不支援Python 3.0的第三方库有Twisted, py2exe, PIL等。
大多数第三方库都正在努力地相容Python 3.0版本。即使无法立即使用Python 3.0,也建议编写相容Python 3.0版本的程式,然后使用Python 2.6, Python 2.7来执行。
Python 3.0的变化主要在以下几个方面:
print 函数
print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。在Python 2.6与Python 2.7里面,以下三种形式是等价的:
print "fish" print ("fish") #注意print后面有个空格 print("fish") #print()不能带有任何其它参数
Unicode
Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。
现在, 在 Python 3,我们有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和 bytearrays。
Python3.X 源码文件默认使用utf-8编码
除法运算
Python中的除法较其它语言显得非常高端,有套很复杂的规则。Python中的除法有两个运算符,/和//
首先来说/除法:
在python 2.x中/除法就跟我们熟悉的大多数语言,比如Java啊C啊差不多,整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。
在python 3.x中/除法不再这么做了,对于整数之间的相除,结果也会是浮点数。
Python 2.x:
>>> 1 / 2 0 >>> 1.0 / 2.0 0.5
Python 3.x:
>>> 1/2 0.5
而对于//除法,这种除法叫做floor除法,会对除法的结果自动进行一个floor操作,在python 2.x和python 3.x中是一致的。
python 2.x:
>>> -1 // 2 -1
python 3.x:
>>> -1 // 2 -1
注意的是并不是舍弃小数部分,而是执行floor操作,如果要截取小数部分,那么需要使用math模块的trunc函数
python 3.x:
>>> import math >>> math.trunc(1 / 2) 0 >>> math.trunc(-1 / 2) 0
不等运算符
Python 2.x中不等于有两种写法 != 和 <>
Python 3.x中去掉了<>, 只有!=一种写法,还好,我从来没有使用<>的习惯
数据类型
1)Py3.X去除了long类型,现在只有一种整型——int,但它的行为就像2.X版本的long
2)新增了bytes类型,对应于2.X版本的八位串,定义一个bytes字面量的方法如下:
>>> b = b'china' >>> type(b) <type 'bytes'>
str对象和bytes对象可以使用.encode() (str -> bytes) or .decode() (bytes -> str)方法相互转化。
>>> s = b.decode() >>> s 'china' >>> b1 = s.encode() >>> b1 b'china'
3)dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有 dict.has_key(),用 in替代它 。
常量与变量
变量 : 存储信息的,方便日后被调用、修改操作
常量: 固定不变的量,字母大写(在Python中没有严格的规定,是程序员书写的一种规范,为了区分变量)
命名规则:
1. 字母数字下划线组成
2. 不能以数字开头,不能含有特殊字符和空格
3. 不能以保留字命名
4. 不能以中文命名
5. 定义的变量名应该有意义
6. 驼峰式命、 下划线分割单词
7. 变量名区分大小写
a=1
b=2
if a<b:
print("Yes")
else:
print("No")
a=1
b=2
if elif else
if 条件1:
elif 条件2:
else:
注释
作用:方便阅读
# 单行注释
'''多行注释'''
""" 多行注释 """
用户交互
input()
字符串拼接
"abc" + "qwe"
文件扩展名
.py : python的程序文件
.txt : 文本文件
.pdf:PDF文件
.doc Word文件
.xls:excel文件
.ppt:PPT文件
.exe:可执行文件
.jpg .png .gif .jpeg 图片
.avi .rmvb .MP4 .mkv .3gp 视屏
.MP3 .flue .mid 音频
Ture Flase
True 真 正确的
False 假 错误的
缩进
通过缩进判断执行的文件,表示的是程序与程序之间的逻辑关系,并且缩进级别必须保持一致。(官方建议缩进四个空格键)。
运算符
Python语言支持以下类型的运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 运算符优先级
算术运算符
比较运算符
> 大于
< 小于
== 等于
>= 大于或等于
<= 小于或等于
!= 不等于
赋值运算符
= 简单的赋值
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 取余赋值
**= 幂赋值
//= 整除赋值
逻辑运算符
not Ture=False not False=Ture
and 有一假就为假
or 有一真就为真
运算符优先级
运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算。
while 循环
while循环语句是Python的主要循环结构。while语句是Python中最通用的迭代结构,也是一个条件循环语句。
while循环语句的语法如下所示:
while 条件:
执行代码块
while循环中的执行代码块会一直循环执行,直到当条件不能被满足为假False时才退出循环,并执行循环体后面的语句。while循环语句最常被用在计数循环中。
举一个最简单的,来看看while循环控制流语句基本用法是怎么样的。
x = 0
while x<5:
print (x)
x+=1
# 0,1,2,3,4
变量x的初始值为1,条件是x小于10的情况时,执行代码块x+=1的操作,直到x的值不再小于10。
while循环语句和for语句一样,也是常搭配break(终止)、continue(跳出本次循环,继续下一次循环)、else一起使用,可以完成更多重条件的要求。