Python_Weekend_15 正则表达式 和 代码版本管理

通过一个面向对象例子 引出正则表达式。下面两个例子都是正则表达式的应用:

# 给类发消息 就要写
# 两个爸爸时,需要初始化的话,就要把两个类名都写上
# 菱形继承
# 如果一个类有多个父类,而多个父类又有公共的父类(菱形继承/砖石继承)
# 那么在搜索属性和方法时搜索的依据是c3算法(有点类似于广度优先搜索)
# 这是Python3中的一个改进 在此之前搜索的算法是深度优先搜索(DFS)
# 少用多重进程,如果有多个类,就把后面的写成抽象的类 用abc
from abc import ABCMeta,abstractmethod


class Father(object):

    def __init__(self):
        self._name = '老五'

    def drink(self):
        print(self._name + '正在喝二锅头')

    def gamble(self):
        print(self._name + '正在赌博.')


class Monk(object,metaclass=ABCMeta):

    def __init__(self,nickname):
        self._nickname = nickname

    @abstractmethod
    def eat_vegtable(self):
        pass

class Musician(object):
    def __init__(self, artname):
        self._artname = artname

    @abstractmethod
    def drink(self):
        pass
    @abstractmethod
    def play_piano(self):
        pass

class Son(Father,Monk,Musician):

    def __init__(self,name,nickname,art_name):
        Father.__init__(self)
        self._name = name
        self._nickname = nickname
        self._art_name = art_name

    def play_piano(self):
        print(self._art_name + '正在弹钢琴')

    def drink(self):
        print(self._name + '正在喝白开水。')

    def eat_vegtable(self):
        print(self._nickname + '正在吃斋')

    def chant(self):
        print(self._nickname + '正在念经')

def main():
    son =Son('小明','潇哥','老六')
    son.drink()
    son.gamble()
    # Musician.drink(son)
    son.eat_vegtable()
    son.chant()
    son.play_piano()

if __name__ == '__main__':
    main()

结果如下:

小明正在喝白开水。
小明正在赌博.
潇哥正在吃斋
潇哥正在念经
老六正在弹钢琴
# # 给用户名 判断是不是指定的长度 有效返回真
#
# class Username(object):
#     def __init__(self,name):
#         self._name = name
#
#     def juge(self):
#         if 6 < len(self._name) < 20:
#             return True
#
# def main():
#     name = Username('王大锤是都')
#
#     print(name.juge())
#
# if __name__ == '__main__':
#     main()

def a_username(username):
    if 6 <= len(username) <= 20:
        for ch in username:
            if not('0' <= ch <= '9' or 'A'<= ch <= 'Z' or 'a'<= ch <= 'z' or ch=='_' ):
                return False
        return  True
    return  False

def main():
    print(a_username('admin'))
    print(a_username('ad$min'))
    print(a_username('_admin_'))
    print(a_username('12355admin'))
if __name__ == '__main__':
    main()

结果

False
False
True
True

这是一个验证输入用户信息和QQ号:

import re

def main():
    username = input('输入用户名')
    qq = input('输入QQ号:')
    m1 = re.match(r'^[1-9]{6,20}',username)
    if not m1:
        print('请输入有效的用户名')
    m2 = re.match(r'^[1-9]\d{4,11}$',qq)
    if not m2:
        print('请输入有效的QQ号')
    if m1 and m2:
        print('你输入的信息是有效的!')

if __name__ == '__main__':
    main()

输出结果如下:

输入用户名admin123
输入QQ:634163114
请输入有效的用户名

接下来是讲的代码版本系统管理:
这是一个作为IT人士必须要get的技能。
主要是讲本地写的代码上传到网上保存,利于团队的开发,可以回到旧版本的代码,利于公司团队对代码进行合理的管理。
下面是一些命令操作,主要是在cmd窗口下执行。同时上传到coding后台项目上去。

cmd命令 窗口下执行
git –version 确认是否安装git成功
cd Desktop 切换到桌面
mkdir hellokitty 创建文件夹hel…
cd hellokitty 进入文件夹
git init 初始化仓库
notepad hello.py 打开记事本写代码
git add hello.py 添加hello.py的文件
git status 检查文件情况
git add . 是讲所以文件纳入版本控制

git config –global user.name ‘[email protected]’ 设置邮箱名可以随便设置
git commit -m ‘说明描述’
git log 查看历史版本

git reset 版本号(commit后面的那串字符) 恢复到之前版本

git rm 文件名 删除某文件

猜你喜欢

转载自blog.csdn.net/weixin_41782332/article/details/79619282