python基础语法

首发:个人博客,更新&纠错&回复

接上文ruby基础语法,为在切换语言时查看,迅速习惯写法,记录了一些基本语法,代码在这里

# -*- coding: utf-8 -*-
'''
参考:http://www.runoob.com/python/python-tutorial.html
多行注释
多行注释
'''

##变量
a = 100#变量直接声明即可
a = "abc"#变量弱类型
l = [1, 2, 3]#数组,可以赋值和取值l[0]
t = (1, 2, 3)#元组,不能赋值,只能取值t[0]
d = {"a" : 1, "b" : 2}#字典,可以赋值取值d["a"]
s = str(1)#数据类型转化

##流程控制
#if
if 1 > 2:
    pass#啥也不想干,pass用来占位,否则语法不成立
elif 1 > 3:
    pass
else:
    pass
#while
while 1 > 2:
    pass
else:
    pass
#for
for i in [1,2,3]:
    #这里可以使用break和continue
    pass
else:
    pass

##面向对象
#定义函数
def log(str):
    return str.decode("utf-8").encode("gbk")
#定义类
class MyClass:
    #成员变量
    _privateAttr = "私有变量值"#下划线开头为私有变量
    myAttr = "公有变量值"#公有变量
    #构造函数
    def __init__(self, a):
        self.myAttr = a
        self._privateAttr = a
    #成员方法,第一个参数必须是self,这体现了myObj.myMethod(..)实际是myMethod(myObj, ..)
    def myMethod(self):
        print log(self.myAttr + self._privateAttr)
#继承
class MySubClass(MyClass):
    def __init__(self, a):
        self.myAttr = a + "在子类中变了"

myObj = MySubClass("你好,世界!")#实例化,不需要new关键字
myObj.myMethod()
#使用其他模块中定义的类
from python_another_module import AnotherClass
AnotherClass().anotherMethod()

##异常
try:#这里写正常语句
    pass
except Error:#如果捕获了该类异常则运行
    pass
else:#如果没捕获异常则运行
    pass

##正则表达式
import re
#匹配
m = re.match(r'D+(d+)D+(d+)', "ab12cd34")
if m:
    print m.group(0)#ab12cd34
    print m.group(1)#12
    print m.group(2)#34
else:
    print "no match"
#替换
print re.sub(r'd', "!", "ab12cd34")#ab!!cd!!
print re.sub(r'd+', "!", "ab12cd34")#ab!cd!

长期欢迎项目合作机会介绍,项目收入10%用于酬谢介绍人。新浪微博:@冷镜,QQ:908789432

原文地址:https://www.cnblogs.com/zidafone/p/5039152.html