一、Python3新特性

  • 编码统一为unicode
  • Python3不支持Twisted,暂时只支持73%
  • 1/2=0.5
  • print “hello World” 变成 print (“hello World”)
  • raw_input 没了,input
  • class Foo:写法不能用了,只能class Foo(object)

二、变量与赋值

变量命名

  • 显式
  • number_of_argv
  • NumberOfArgv
  • 不能用-横线
  • 数字不能开头
  • 特殊字符不能有
  • 只能是字母、数字、下划线
  • 不能用关键字

三、用户交互

python3下:

input(“what’s your name:”)

python2.7下:

raw_input(“what’s your name:”)

python2.7下

  • input( )相当于 python3下eval(input( ))
  • raw_input( )相当于python3下input( )

四、if … else和缩进

if ():
print a
elif *:
print b
else:
print c

五、循环与循环控制限制

while循环

!/usr/bin/env/ python
lucky_num=19
guess_count=0
while guess_count <3:
print (“guess count:”,guess_count)
input_number=int(input(“Input your guess number:”))
if input_number>lucky_num:
print(“the real number is smaller.”)
elif input_number<lucky_num:
print(“the real number is bigger..”)
else:
print(“Bingo!”)
break
guess_count+=1
else:
print(“too many retrys!”)
  • 15行的else与while同级,当while条件不满足时,执行else
  • 当while里的break执行时,15行的else不会执行

for循环

#!/usr/bin/env/ python

lucky_num=19
guess_count=0
for i in range(3):
input_number=int(input("Input your guess number:"))
if input_number>lucky_num:
print("the real number is smaller.")
elif input_number<lucky_num:
print("the real number is bigger..")
else:
print("Bingo!")
break
else:
print("too many retrys!")

六、常用数据类型

1、数字

  • Int(整型)
  • Folat(浮点型)
  • Long(长整型)

2、布尔值

  • 真或假
  • 1或0

3、字符串

字符串是%s,整数是%d,浮点数是%f

'''的作用

  • 1、多行注释 也可用"""
  • 2、格式化输出

    例子:strip可以删除行首的空格,也可以删除字符
#!/usr/bin/env/ python

Name=input("input your name:").strip()
Age=input("input your age:")
Job=input("input your job:") Msg='''
Information of %s:
Name:%s
Age:%s
Job:%s
''' %(Name,Name,Age,Job)
print(Msg)

字符串的常用功能

  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片

4、列表

创建列表

name_list=['fan','one','haha']

name_list=list(['fan','one','haha'])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 循环
  • 包含

例子

#!/usr/bin/env/ python

a=[1,2,3,'a','b','c',2]
b=[11,12,13]
print (a)
print (b) print(a[0:3])
print(a[0:3:2])
print(a[2:5])
print(a[-3:-1])
print(a[-3:])
a.append(4)
print(a)
aa=a.count(2)
print(aa)
a.index(2)
a.insert(0,0)
print(a)
a.extend(b)
print(a)
#b.sort()
a.remove('a')
print(a)
a.pop()
print(a)
a.reverse()
print(a)

输出如下:

[1, 2, 3, 'a', 'b', 'c', 2]
[11, 12, 13]
[1, 2, 3]
[1, 3]
[3, 'a', 'b']
['b', 'c']
['b', 'c', 2]
[1, 2, 3, 'a', 'b', 'c', 2, 4]
2
[0, 1, 2, 3, 'a', 'b', 'c', 2, 4]
[0, 1, 2, 3, 'a', 'b', 'c', 2, 4, 11, 12, 13]
[0, 1, 2, 3, 'b', 'c', 2, 4, 11, 12, 13]
[0, 1, 2, 3, 'b', 'c', 2, 4, 11, 12]
[12, 11, 4, 2, 'c', 'b', 3, 2, 1, 0] Process finished with exit code 0

5、元组

创建元组,用小括号

t=(1,2,3,4)

元组只有index()和count()2个方法

  • 索引
  • 切片
  • 长度
  • 循环
  • 包含

6、字典,即键值对

  • 字典无序
  • 特殊的for循环
person={
"name":'fan',
"age":18,
"gender":"男",
} print(person.keys()) #输出所有的key,并保存为列表
print(person.values()) #输出所有的值,并保存为列表
for ele in person: #输出所有的key
print (ele)
for k,v in person.items(): #输出所有的key和value,无序,一般只在for循环中使用,将元素赋值给k和v
print(k)
print(v)

七、基本运算符

比较运算符

==、!=、<>python3中已废弃、>、<、

算数运算符

+、-、*、/、%取模,即余数、**幂、//取整除

赋值运算符

=、+=、-=、*=、/=、%=、**=、//=

位运算符

& 与运算

| 或运算

^

~

<<

成员运算符

in

not in

例子

>>> a=[1,2,3]
>>> type(a)
<class 'list'>
>>> 1 in a
True
>>> 3 in a
True
>>> 4 in a
False

身份运算符

is

is not

例子

>>> a=[1,2,3]
>>> type(a)
<class 'list'>
>>> type(a) is list
True
>>> type(a) is tuple
False

八、文件基本操作

打开文件

file_object=file("文件路径","模式"),Python3里废弃

file_object=open("文件路径","模式")

打开文件的模式

  • r 只读方式打开
  • w 打开一个文件只用于写入,如果该文件已存在则将其覆盖;如果不存在,创建新文件
  • a 打开一个文件用于追加,如果该文件已存在,文件指针将会放在文件的结尾。也就是说新的文件将会***后;如果该文件不存在,创建新文件进行写入
  • w+ 打开一个文件用于读写,如果该文件存在则将其覆盖;如果不存在,创建新文件

读取文件的内容

  • 一次性加载所有内容到内存

    obj.read()
  • 一次性加载所有内容到内存,并根据行分割成字符串

    obj.readlines()
  • 每次只读取一行数据
for line in obj:
print line

写文件的内容

  • obj.write('内容')

关闭文件句柄

  • obj.close( )

最新文章

  1. MD5使用
  2. Stanford coursera Andrew Ng 机器学习课程编程作业(Exercise 1)
  3. GridView中 LinkButton两种方式
  4. 在Ubuntu 64位OS上运行hadoop2.2.0[重新编译hadoop]
  5. uva 11768
  6. 汇总文件数据 VBA
  7. sqlserver存储过程及易错点
  8. docker - 启动container时出现 [warning] : ipv4 forwarding is disabled. networking will not work
  9. FORTH 安装使用
  10. 【jQuery】 JQ和HTML以及JQ遍历元素
  11. c++ --&gt; c++中四种类型转换方式
  12. 如何解决-win7系统打开截图工具显示“截图工具当前未在计算机上运行”
  13. Java入门(七):方法
  14. favicon.ico--网站标题小图片二三事
  15. intellij IDEA 安装和配置和使用
  16. java io详解(1)
  17. hdu 5761 Rower Bo 物理题
  18. Aerospike系列:2:商业版和社区版的比较
  19. Xcode6中手动添加Precompile Prefix Header
  20. Drag &amp; drop a button widget

热门文章

  1. 17款免费的Bootstrap后台管理模板集合
  2. 基于局部敏感哈希的协同过滤推荐算法之E^2LSH
  3. BZOJ 1741: [Usaco2005 nov]Asteroids 穿越小行星群
  4. 团体程序设计天梯赛-练习集L1-003. 个位数统计
  5. [Firefly引擎][学习笔记四][已完结]服务器端与客户端的通讯
  6. php关于private、public成员变量访问问题
  7. 李洪强iOS开发拓展篇—UIDynamic(重力行为+碰撞检测)
  8. SaaS系列介绍之二: SaaS介绍
  9. pflua:用Lua编写的高性能网络包过滤工具箱
  10. Application.CommonAppDataPath的路径