最近项目需求,写了一点Python,觉得很有意思,决定好好学习一下
Python文档下载地址:www.python.org/doc/,其他在线教程也很多
图方便,在win系统安装了Python(python-3.5.2-amd64.exe),安装很简单。Python是跨平台的
先来个简单的测试
在Python 3.X中默认采用UTF-8编码,可以正常解析中文(2.X默认是ASCII)
解释型语言输出就是简单
新建一个Pyhton文件,test.py
print ("Hello World")
通过Pyhton调用
Python代码块不通过{}来控制,而是通过缩进(亮瞎我的狗眼),这要是层次稍微深一点,根本记不清前面有多少缩进,尤其是改别人的代码
if True:
print("1111")
else:
print("2222")
然而一下形式都是错的
if True:
print("1111")
else:
print("2222")
if True:
print("1111")
else:
print("2222")
if True:
print("1111")
else:
print("2222")
都会显示类似下述错误
这个语法让我这个写惯C++的特别不习惯,写好脚本,然后把缩进全部打乱,估计也够被人吃一壶了,哈哈
另外一个比较有意思的是,Pyth有三引号"""
s = """11111
222"""
print (s)
在后面加个斜杠可以定义多行显示
s = """11111\
222"""
print (s)
另外,三个单引号和三个多引号可以定义多行注释
'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''
"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""
Python和其他解释型语言一样,变量不需要类型声明,随便赋
n = 100
print(n)
n = "100"
print(n)
(每次写完一行,老想敲分号,折磨)
Python还支持多变量一次赋值(要这功能干什么)
a,b,c = 1,'2',"3"
print(a)
print(b)
print(c)
Pyhton支持的内置数据类型
数字
字符串
列表
元组
字典
列表用[]标识,元组用()标识,元组还不能二次赋值;字典通过键值对存取数据,就像map一样
Python的逻辑运算符
x and y:布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
x or y : 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
not x :布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
a = 1 #老想在后面加分号
b = 1
if (a and b): #老是忘记这个冒号
print ("1111111")
else:
print ("0000000")
a = 0
b = 1
if (a and b):
print ("1111111")
else:
print ("0000000")
a = 1
b = 2222222
if (a and b):
print (a and b)
else:
print (a and b)
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
is is是判断两个标识符是不是引用自一个对象 x is y, 如果 id(x) 等于 id(y) , is 返回结果 1
is not is not是判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1
a=10
b=10
a is b 返回1
Python的While循环可以加else语句
count = 0
while (count < 5):
print (count, " is less than 5")
count = count + 1
else:
print (count, " is not less than 5")
For循环
for letter in 'YangShaoFei': #这个冒号 这个冒号
print(letter)
遍历字符串
for同样有else语句
Python有一个空语句,pass,不做任何操作