文件头结构定义

Python解释器的路径和定义使用utf-8字符集

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def main():
    print("Hello吱吱吱吱")

if __name__ == '__main__':
    main()

语法

# 开头的是单行注释 ‘’’ ‘’’ 三个引号包裹的是多行注释

数据类型

a = ‘This is an String’ #字符串
a = 123 #整数
a = 123.45 #浮点数
布尔值用True, False表示
空值: None

表达式

/ 除法,两个数有一个是浮点数结果就是浮点数
// 整除
% 取余数
** 乘方 比如 2 ** 3 = 8

Console输入输出

print(”text“)

x = input(“Input X:”)
y = raw_input(“what is your name:”)
raw_input会将用户输入的所有内容作为原始数据,放入字符串中

列表和元组

列表可以修改,元组不能

列表

list = [“1”, “2”, “3”]

列表方法

append(“value”) 在末尾增加 count() 返回列表元素的数目 extend(list) list添加多个元素,参数同为list insert(4, ‘a’) 在任意位置添加 sort() 排序

元组

tuple = (1, 2, 3)

字符串

格式化操作字符串

‘This is an Mixed string: %d %s' % 1, 'aaa'    

字符串查找

index = dest_str.find('value')

在一个较长的字符串中查找子字符串,返回子串所在位置最左边的索引,没有找到返回-1

字典

dict1 = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

字典操作

  • len(dict) 返回dict中项的数量
  • dict[k] 返回dict中k项的值
  • dict[k] = v 赋值
  • del dict[k] 删除项
  • k in dict 检查dict中是否有含有建k的项
  • dict.clear() 清空
  • value = dict.get(key) 获取值,不存在时返回None

字典遍历

for (d,x) in dict.items():
    print "key:"+d+",value:"+str(x)

判断

if True:
    print ("aaa")
elif True:
    print ("bbb")
else:
    print ("ccc")

表达式的与或非使用and、or和not

循环

for item in list:
    print(item)

方法

def func(param1, param2):
    return param1 + param2

func(param1 = 111, param2 = 222)

调用的时候参数的顺序可以不按照定义的顺序,必须赋值给参数名

类和对象

class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score

    def print_score(self):
        print('%s: %s' % (self.name, self.score))

GUI库wxPython

#!/bin/env python
import wx

class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1, "My Frame", size=(300, 300))
        panel = wx.Panel(self, -1)
        panel.Bind(wx.EVT_MOTION, self.OnMove)
        wx.StaticText(panel, -1, "Pos:", pos=(10, 12))
        self.posCtrl = wx.TextCtrl(panel, -1, "", pos=(40, 10))
    def OnMove(self, event):
        pos = event.GetPosition()
        self.posCtrl.SetValue("%s, %s" % (pos.x, pos.y))

if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = MyFrame()
    frame.Show(True)
    app.MainLoop()

正则表达式re

使用方法

导入包

import re

将正则表达式编译成Pattern对象

pattern = re.compile(r"\d+")

使用Pattern匹配文本

pattern.search方法返回一个match对象,其中的group列表里有所有的匹配文本 获取第一个匹配对象

if match:
    match = serialPattern.search(url).group(0)

pattern.findAll方法返回所有匹配的子串,并返回一个list

正则表达式语句

表达式 描述
a, X, 9, < 普通字符完全匹配。
. 匹配任何单个字符,除了换行符’\n‘
\w 匹配“单词”字符:字母或数字或下划线[a-zA-Z0-9_]。
\W 匹配任何非字词。
\b 字词与非字词之间的界限
\s 匹配单个空格字符 - 空格,换行符,返回,制表符
\S 匹配任何非空格字符。
\t, \n, \r 制表符,换行符,退格符
\d 十进制数[0-9]
^ 匹配字符串的开头
$ 匹配字符串的末尾
\ 抑制字符的“特殊性”,也叫转义字符。