Python语言-面向对象

知识代码

class JobSalary(object):
    job = ''


    def __init__(self, city):
        self.jobname = "数据分析师"
        self.exp = ''
        self.city = city

    # 方法
    def data_normalize(self, data):
        print(f'正在规范化{self.city}{data}数据中...')
        self.__salary_deal()
        self.__exp_deal()

    def __salary_deal(self):
        print('薪资处理...')

    def __exp_deal(self):
        print('经验处理...')


if __name__ == '__main__':
    job = JobSalary('新乡')
    print(job.jobname)
    job.data_normalize('薪资')

    JobSalary.data_normalize(job, '岗位')

案例实战

案例一:薪资数据处理

class Person:

    def __init__(self):
        self.name = '子林'
        self.age = 18

    def eat(self, food):
        print(f'{self.name}吃{food}')


class DataSource:

    def get_salary_data(self):
        data = '''ETL开发工程师,3-5年,本科以上,13000-25000,北京中软国际信息技术有限公司,40.3万次浏览,,北京
        ETL开发工程师,2年经验,不限学历,1.2-1.8万/月,东华软件股份公司,20.7万次浏览,,北京
        ETL高级开发工程师,5-10年,本科以上,15000-20000,北京九恒星科技股份有限公司,1.4万次浏览,,郑州
        大数据ETL资深开发工程师,5-10年,本科以上,30000-60000,北京小桔科技有限公司,124.9万次浏览,,北京
        大数据ETL开发工程师-北京-00195,3-4年经验,不限学历,1.2-1.8万/月,北软互联(北京)科技有限公司,3047次浏览,,北京
        ETL开发工程师,3-5年,本科以上,13000-25000,北京中软国际信息技术有限公司,40.3万次浏览,,上海
        大数据ETL开发工程师-杭州-00197,3-4年经验,不限学历,1.2-1.8万/月,北软互联(北京)科技有限公司,3047次浏览,,杭州
        ETL开发工程师,3-5年,大专以上,15000-23000,珠海市卓轩科技有限公司,1.2万次浏览,,北京
        BI ETL开发工程师-,2年经验,不限学历,0.8-1.8万/月,东华软件股份公司,20.7万次浏览,,北京
        ETL开发工程师,3-4年经验,本科以上,1.5-3万/月,瑞鹏宠物医疗集团股份有限公司,10.7万次浏览,,北京
        ETL开发工程师 数据分析师,1-3年,本科以上,12000-25000,深圳索信达数据技术股份有限公司,4.7万次浏览,,北京
        ETL BI 工程师-数据实施,1年经验,不限学历,0.8-1.5万/月,北京派可数据科技有限公司,1249次浏览,,深圳
        etl开发工程师,3-5年,本科以上,12000-20000元,深圳市法本信息技术股份有限公司,16.5万次浏览,,深圳'''
        data_list = data.strip().split('\n')
        return data_list


# 包含薪资处理的常用属性,以及规范化处理相关内容
class Salary(object):

    # 构造函数,在对象初始化的时候执行
    def __init__(self):
        # 构造函数内部定义属性()
        self.jobname = ''
        self.exp = ''
        self.degree = ''
        self.salary = ''
        self.company = ''
        self.hit = ''
        self.city = ''
        # 标识当前数据是否脏数据
        self.flag = True

    # 针对一行数据规范化
    def data_standard(self, line):
        # 当前行内容解析
        line_list = line.replace(',', ',').split(',')
        if len(line_list) != 8:
            self.flag = False
            return
        self.jobname = line_list[0]
        self.exp = line_list[1]
        self.degree = line_list[2]
        self.salary = line_list[3]
        self.company = line_list[4]
        self.hit = line_list[5]
        self.city = line_list[7]

        # 经验数据处理
        self.deal_exp(self.exp)

        # 薪资数据处理
        self.deal_salary()

        # 点击量处理
        self.deal_hit()

    # 计算经验平均薪资  3-5年   2年经验  3-4年经验
    def calc_exp_avg(self, exp):
        exp_avg = 0
        if '经验' in exp:
            exp = exp.replace('年经验', '')
            exp_list = exp.split('-')
            if len(exp_list) == 2:
                exp_avg = (int(exp_list[0]) + int(exp_list[1])) / 2
            else:
                exp_avg = int(exp)
        else:
            exp = exp.replace('年', '')
            exp_list = exp.split('-')
            exp_avg = (int(exp_list[0]) + int(exp_list[1])) / 2
            # print(exp_avg)

        return exp_avg

    # 根据经验平均值获取标准枚举类型的名称
    def get_exp(self, exp_avg):
        exp_new = ''
        if exp_avg <= 2:
            exp_new = '[0-2]'
        elif exp_avg > 3 and exp_avg <= 5:
            exp_new = '(3-5]'
        elif exp_avg > 5:
            exp_new = '五年以上'
        else:
            exp_new = '(2-3]'
        return exp_new

    # 经验数据处理
    def deal_exp(self,expri):
        # 针对于经验平均值处理
        exp_avg = self.calc_exp_avg(expri)
        # 解析经验区间
        exp_new = self.get_exp(exp_avg)

        self.exp = exp_new
        return exp_new

    def deal_salary(self):
        salary = self.salary.replace('元', '')
        if '万/月' in salary:
            salary = salary.replace('万/月', '')
            salary_list = salary.split('-')
            self.salary = round((float(salary_list[0]) + float(salary_list[1])) * 10000 / 2, 2)
        else:
            salary_list = salary.split('-')
            self.salary = round((float(salary_list[0]) + float(salary_list[1])) / 2, 2)

    # 处理点击量  20.7万次浏览 1249次浏览
    def deal_hit(self):
        if '万' in self.hit:
            hit = self.hit.replace('万次浏览', '')
            hit_new = float(hit) * 10000
        else:
            hit = self.hit.replace('次浏览', '')
            hit_new = float(hit)
        self.hit = hit_new
        return hit_new

    def __repr__(self):
        return f'{self.jobname},{self.exp}'
    def __str__(self):
       return  f'{self.jobname},{self.exp}'


class SalaryAnalysis:

    # 薪资分析类构造函数
    def __init__(self, datas):
        self.jobs = datas

    def city_analysis(self):
        city_dict = {}
        for item in self.jobs:
            city = item.city
            salary = item.salary
            value = city_dict.get(city)
            if value:
                value.append(salary)
            else:
                city_dict[city] = [salary]

        for k, v in city_dict.items():
            log = f'{k}大数据行业平均薪资为{round(sum(v)/len(v))}'
            print(log)


if __name__ == '__main__':
    # source = DataSource()
    # datas = DataSource.get_salary_data(source)
    datas = DataSource().get_salary_data()
    res = []
    for line in datas:
        job_salary = Salary()
        job_salary.data_standard(line)
        # Salary.data_standard(job_salary,line)
        if job_salary.flag:
            res.append(job_salary)
            # print(job_salary)
    print([item for item in res])
    salary_analysis = SalaryAnalysis(res)
    salary_analysis.city_analysis()

案例二:诗词筛选

用面向对象的方式寻找下面诗词中包括“花”的语句,并输出

◎卷.1【咏舞】萧德言
  低身锵玉珮,举袖拂罗衣。对檐疑燕起,映雪似花飞。
  ◎卷.2【过严君平古井】郑世翼
  严平本高尚,远蹈古人风。卖卜成都市,流名大汉中。
  旧井改人世,寒泉久不通。年多既罢汲,无禽乃遂空。
  如何属秋气,唯见落双桐。
  ◎卷.3【登北邙还望京洛】郑世翼
  步登北邙坂,踟蹰聊写望。宛洛盛皇居,规模穷大壮。
  三河分设险,两崤资巨防。飞观紫烟中,层台碧云上。
  青槐夹驰道,迢迢修且旷。左右多第宅,参差居将相。
  清晨谒帝返,车马相追访。胥徒各异流,文物纷殊状。
  嚣尘暗天起,箫管从风飏。伊余孤且直,生平独沦丧。
  山幽有桂丛,何为坐惆怅。
  ◎卷.4【巫山高】郑世翼
  巫山凌太清,岧峣类削成。霏霏暮雨合,霭霭朝云生。
  危峰入鸟道,深谷写猿声。别有幽栖客,淹留攀桂情。
  ◎卷.5【看新婚】郑世翼
  初笄梦桃李,新妆应摽梅。疑逐朝云去,翻随暮雨来。
  杂佩含风响,丛花隔扇开。姮娥对此夕,何用久裴回。
  ◎卷.6【见佳人负钱出路】郑世翼
  独负千金价,应从买笑来。只持难发口,经为几人开。
  ◎卷.7【送金竟陵入蜀】崔信明
  金门去蜀道,玉垒望长安。岂言千里远,方寻九折难。
  西上君飞盖,东归我挂冠。猿声出峡断,月彩落江寒。
  从今与君别,花月几新残。
  ◎卷.8【句】崔信明
  枫落吴江冷。
  ◎卷.9【侍宴咏石榴】孔绍安
  可惜庭中树,移根逐汉臣。只为来时晚,花开不及春。
  ◎卷.10【咏夭桃】孔绍安
  结叶还临影,飞香欲遍空。不意馀花落,翻沉露井中。
  ◎卷.11【赠蔡君】孔绍安
  畴昔同幽谷,伊尔迁乔木。赫奕盛青紫,讨论穷简牍。
  ◎卷.12【结客少年场行】孔绍安
  结客佩吴钩,横行度陇头。雁在弓前落,云从阵后浮。
  吴师惊燧象,燕将警奔牛。转蓬飞不息,冰河结未流。
  若使三边定,当封万户侯。
  ◎卷.13【伤顾学士】孔绍安
  迢递双崤道,超忽三川湄。此中俱失路,思君不可思。
  游人行变橘,逝者遽焚芝。忆昔江湖上,同咏子衿诗。
  何言陵谷徙,翻惊邻笛悲。陈根非席卉,繐帐异书帷。
  与善成空说,歼良信在兹。今日严夫子,哀命不哀时。
  ◎卷.14【别徐永元秀才】孔绍安
  金汤既失险,玉石乃同焚。坠叶还相覆,落羽更为群。
  岂谓三秋节,重伤千里分。远离弦易转,幽咽水难闻。
  欲识相思处,山川间白云。
  ◎卷.15【落叶(一作孔德绍诗)】孔绍安
  早秋惊落叶,飘零似客心。翻飞未肯下,犹言惜故林。
  ◎卷.16【踏歌词三首】谢偃
  春景娇春台,新露泣新梅。春叶参差吐,新花重叠开。
  花影飞莺去,歌声度鸟来。倩看飘飖雪,何如舞袖回。
  逶迤度香阁,顾步出兰闺。欲绕鸳鸯殿,先过桃李蹊。
  风带舒还卷,簪花举复低。欲问今宵乐,但听歌声齐。
  夜久星沉没,更深月影斜。裙轻才动珮,鬟薄不胜花。
  细风吹宝袂,轻露湿红纱。相看乐未已,兰灯照九华。
  ◎卷.17【乐府新歌应教】谢偃
  青楼绮阁已含春,凝妆艳粉复如神。细细轻裙全漏影,
  离离薄扇讵障尘。樽中酒色恒宜满,曲里歌声不厌新。
  紫燕欲飞先绕栋,黄莺始哢即娇人。撩乱垂丝昏柳陌,
  参差浓叶暗桑津。上客莫畏斜光晚,自有西园明月轮。
  ◎卷.18【奉和出颍至淮应令】蔡允恭
  久倦川涂曲,忽此望淮圻。波长泛淼淼,眺迥情依依。
  稍觉金乌转,渐见锦帆稀。欲知仁化洽,讴歌满路归。
  ◎卷.19【和卫尉寺柳】杜之松
  汉将本屯营,辽河有戍城。大夫曾取姓,先生亦得名。
  高枝拂远雁,疏影度遥星。不辞攀折苦,为入管弦声。
  ◎卷.20【答王无功冬夜载酒乡馆】崔善为
  颁条忝贵郡,悬榻久相望。处士同杨郑,邦君谢李疆。
  讵知方拥彗,逢子敬惟桑。明朝蓬户侧,会自谒任棠。
  ◎卷.21【答王无功九日】崔善为
  秋来菊花气,深山客重寻。露叶疑涵玉,风花似散金。
  摘来还泛酒,独坐即徐斟。王弘贪自醉,无复觅杨林。
  ◎卷.22【答王无功问故园】朱仲晦
  我从铜州来,见子上京客。问我故乡事,慰子羁旅色。
  子问我所知,我对子应识。朋游总强健,童稚各长成。
  华宗盛文史,连墙富池亭。独子园最古,旧林间新坰。
  柳行随堤势,茅斋看地形。竹从去年移,梅是今年荣。
  渠水经夏响,石苔终岁青。院果早晚熟,林花先后明。
  语罢相叹息,浩然起深情。归哉且五斗,饷子东皋耕。
  ◎卷.23【从军行】王宏
  儿生三日掌上珠,燕颔猿肱秾李肤。十五学剑北击胡,
  羌歌燕筑送城隅。城隅路接伊川驿,河阳渡头邯郸陌。
  可怜少年把手时,黄鸟双飞梨花白。秦王筑城三千里,
  西自临洮东辽水。山边叠叠黑云飞,海畔莓莓青草死。
  从来战斗不求勋,杀身为君君不闻。凤凰楼上吹急管,
  落日裴回肠先断。
  ◎卷.24【文德皇后挽歌】朱子奢
  神京背紫陌,缟驷结行輈。北去横桥道,西分清渭流。
  寒光向垄没,霜气入松楸。今日泉台路,非是濯龙游。
  ◎卷.25【大酺乐】张文收
  泪滴珠难尽,容残玉易销。倘随明月去,莫道梦魂遥。
  ◎卷.26【与琳法师】毛明素
  冶长倦缧绁,韩安叹死灰。始验山中木,方知贵不材。

 实现1:

class Poem:

    #通过外部传入关键字(花)查找诗句
    def find(self,kw):
        data = self.load_data()
        print(f'******{kw}******')
        for line in data:
            if kw in line and '◎' not in line:
                print(line.strip())

    #数据加载
    def load_data(self):
        data = '''◎卷.1【咏舞】萧德言
  低身锵玉珮,举袖拂罗衣。对檐疑燕起,映雪似花飞。
  ◎卷.2【过严君平古井】郑世翼
  严平本高尚,远蹈古人风。卖卜成都市,流名大汉中。
  旧井改人世,寒泉久不通。年多既罢汲,无禽乃遂空。
  如何属秋气,唯见落双桐。
  ◎卷.3【登北邙还望京洛】郑世翼
  步登北邙坂,踟蹰聊写望。宛洛盛皇居,规模穷大壮。
  三河分设险,两崤资巨防。飞观紫烟中,层台碧云上。
  青槐夹驰道,迢迢修且旷。左右多第宅,参差居将相。
  清晨谒帝返,车马相追访。胥徒各异流,文物纷殊状。
  嚣尘暗天起,箫管从风飏。伊余孤且直,生平独沦丧。
  山幽有桂丛,何为坐惆怅。
  ◎卷.4【巫山高】郑世翼
  巫山凌太清,岧峣类削成。霏霏暮雨合,霭霭朝云生。
  危峰入鸟道,深谷写猿声。别有幽栖客,淹留攀桂情。
  ◎卷.5【看新婚】郑世翼
  初笄梦桃李,新妆应摽梅。疑逐朝云去,翻随暮雨来。
  杂佩含风响,丛花隔扇开。姮娥对此夕,何用久裴回。
  ◎卷.6【见佳人负钱出路】郑世翼
  独负千金价,应从买笑来。只持难发口,经为几人开。
  ◎卷.7【送金竟陵入蜀】崔信明
  金门去蜀道,玉垒望长安。岂言千里远,方寻九折难。
  西上君飞盖,东归我挂冠。猿声出峡断,月彩落江寒。
  从今与君别,花月几新残。
  ◎卷.8【句】崔信明
  枫落吴江冷。
  ◎卷.9【侍宴咏石榴】孔绍安
  可惜庭中树,移根逐汉臣。只为来时晚,花开不及春。
  ◎卷.10【咏夭桃】孔绍安
  结叶还临影,飞香欲遍空。不意馀花落,翻沉露井中。
  ◎卷.11【赠蔡君】孔绍安
  畴昔同幽谷,伊尔迁乔木。赫奕盛青紫,讨论穷简牍。
  ◎卷.12【结客少年场行】孔绍安
  结客佩吴钩,横行度陇头。雁在弓前落,云从阵后浮。
  吴师惊燧象,燕将警奔牛。转蓬飞不息,冰河结未流。
  若使三边定,当封万户侯。
  ◎卷.13【伤顾学士】孔绍安
  迢递双崤道,超忽三川湄。此中俱失路,思君不可思。
  游人行变橘,逝者遽焚芝。忆昔江湖上,同咏子衿诗。
  何言陵谷徙,翻惊邻笛悲。陈根非席卉,繐帐异书帷。
  与善成空说,歼良信在兹。今日严夫子,哀命不哀时。
  ◎卷.14【别徐永元秀才】孔绍安
  金汤既失险,玉石乃同焚。坠叶还相覆,落羽更为群。
  岂谓三秋节,重伤千里分。远离弦易转,幽咽水难闻。
  欲识相思处,山川间白云。
  ◎卷.15【落叶(一作孔德绍诗)】孔绍安
  早秋惊落叶,飘零似客心。翻飞未肯下,犹言惜故林。
  ◎卷.16【踏歌词三首】谢偃
  春景娇春台,新露泣新梅。春叶参差吐,新花重叠开。
  花影飞莺去,歌声度鸟来。倩看飘飖雪,何如舞袖回。
  逶迤度香阁,顾步出兰闺。欲绕鸳鸯殿,先过桃李蹊。
  风带舒还卷,簪花举复低。欲问今宵乐,但听歌声齐。
  夜久星沉没,更深月影斜。裙轻才动珮,鬟薄不胜花。
  细风吹宝袂,轻露湿红纱。相看乐未已,兰灯照九华。
  ◎卷.17【乐府新歌应教】谢偃
  青楼绮阁已含春,凝妆艳粉复如神。细细轻裙全漏影,
  离离薄扇讵障尘。樽中酒色恒宜满,曲里歌声不厌新。
  紫燕欲飞先绕栋,黄莺始哢即娇人。撩乱垂丝昏柳陌,
  参差浓叶暗桑津。上客莫畏斜光晚,自有西园明月轮。
  ◎卷.18【奉和出颍至淮应令】蔡允恭
  久倦川涂曲,忽此望淮圻。波长泛淼淼,眺迥情依依。
  稍觉金乌转,渐见锦帆稀。欲知仁化洽,讴歌满路归。
  ◎卷.19【和卫尉寺柳】杜之松
  汉将本屯营,辽河有戍城。大夫曾取姓,先生亦得名。
  高枝拂远雁,疏影度遥星。不辞攀折苦,为入管弦声。
  ◎卷.20【答王无功冬夜载酒乡馆】崔善为
  颁条忝贵郡,悬榻久相望。处士同杨郑,邦君谢李疆。
  讵知方拥彗,逢子敬惟桑。明朝蓬户侧,会自谒任棠。
  ◎卷.21【答王无功九日】崔善为
  秋来菊花气,深山客重寻。露叶疑涵玉,风花似散金。
  摘来还泛酒,独坐即徐斟。王弘贪自醉,无复觅杨林。
  ◎卷.22【答王无功问故园】朱仲晦
  我从铜州来,见子上京客。问我故乡事,慰子羁旅色。
  子问我所知,我对子应识。朋游总强健,童稚各长成。
  华宗盛文史,连墙富池亭。独子园最古,旧林间新坰。
  柳行随堤势,茅斋看地形。竹从去年移,梅是今年荣。
  渠水经夏响,石苔终岁青。院果早晚熟,林花先后明。
  语罢相叹息,浩然起深情。归哉且五斗,饷子东皋耕。
  ◎卷.23【从军行】王宏
  儿生三日掌上珠,燕颔猿肱秾李肤。十五学剑北击胡,
  羌歌燕筑送城隅。城隅路接伊川驿,河阳渡头邯郸陌。
  可怜少年把手时,黄鸟双飞梨花白。秦王筑城三千里,
  西自临洮东辽水。山边叠叠黑云飞,海畔莓莓青草死。
  从来战斗不求勋,杀身为君君不闻。凤凰楼上吹急管,
  落日裴回肠先断。
  ◎卷.24【文德皇后挽歌】朱子奢
  神京背紫陌,缟驷结行輈。北去横桥道,西分清渭流。
  寒光向垄没,霜气入松楸。今日泉台路,非是濯龙游。
  ◎卷.25【大酺乐】张文收
  泪滴珠难尽,容残玉易销。倘随明月去,莫道梦魂遥。
  ◎卷.26【与琳法师】毛明素
  冶长倦缧绁,韩安叹死灰。始验山中木,方知贵不材。'''
        data_list = data.split('\n')
        return data_list


if __name__ == '__main__':
    poem = Poem()
    kw_list = ['山','花']
    poem.find('山')

实现2:

class Poem:

    # 通过外部传入关键字(花)查找诗句
    def find(self, *kw):
        data = self.load_data()
        for item in kw:
            print(f'******{item}******')
            for line in data:
                if item in line and '◎' not in line:
                    print(line.strip())

    # 数据加载
    def load_data(self):
        data = '''◎卷.1【咏舞】萧德言
  低身锵玉珮,举袖拂罗衣。对檐疑燕起,映雪似花飞。
  ◎卷.2【过严君平古井】郑世翼
  严平本高尚,远蹈古人风。卖卜成都市,流名大汉中。
  旧井改人世,寒泉久不通。年多既罢汲,无禽乃遂空。
  如何属秋气,唯见落双桐。
  ◎卷.3【登北邙还望京洛】郑世翼
  步登北邙坂,踟蹰聊写望。宛洛盛皇居,规模穷大壮。
  三河分设险,两崤资巨防。飞观紫烟中,层台碧云上。
  青槐夹驰道,迢迢修且旷。左右多第宅,参差居将相。
  清晨谒帝返,车马相追访。胥徒各异流,文物纷殊状。
  嚣尘暗天起,箫管从风飏。伊余孤且直,生平独沦丧。
  山幽有桂丛,何为坐惆怅。
  ◎卷.4【巫山高】郑世翼
  巫山凌太清,岧峣类削成。霏霏暮雨合,霭霭朝云生。
  危峰入鸟道,深谷写猿声。别有幽栖客,淹留攀桂情。
  ◎卷.5【看新婚】郑世翼
  初笄梦桃李,新妆应摽梅。疑逐朝云去,翻随暮雨来。
  杂佩含风响,丛花隔扇开。姮娥对此夕,何用久裴回。
  ◎卷.6【见佳人负钱出路】郑世翼
  独负千金价,应从买笑来。只持难发口,经为几人开。
  ◎卷.7【送金竟陵入蜀】崔信明
  金门去蜀道,玉垒望长安。岂言千里远,方寻九折难。
  西上君飞盖,东归我挂冠。猿声出峡断,月彩落江寒。
  从今与君别,花月几新残。
  ◎卷.8【句】崔信明
  枫落吴江冷。
  ◎卷.9【侍宴咏石榴】孔绍安
  可惜庭中树,移根逐汉臣。只为来时晚,花开不及春。
  ◎卷.10【咏夭桃】孔绍安
  结叶还临影,飞香欲遍空。不意馀花落,翻沉露井中。
  ◎卷.11【赠蔡君】孔绍安
  畴昔同幽谷,伊尔迁乔木。赫奕盛青紫,讨论穷简牍。
  ◎卷.12【结客少年场行】孔绍安
  结客佩吴钩,横行度陇头。雁在弓前落,云从阵后浮。
  吴师惊燧象,燕将警奔牛。转蓬飞不息,冰河结未流。
  若使三边定,当封万户侯。
  ◎卷.13【伤顾学士】孔绍安
  迢递双崤道,超忽三川湄。此中俱失路,思君不可思。
  游人行变橘,逝者遽焚芝。忆昔江湖上,同咏子衿诗。
  何言陵谷徙,翻惊邻笛悲。陈根非席卉,繐帐异书帷。
  与善成空说,歼良信在兹。今日严夫子,哀命不哀时。
  ◎卷.14【别徐永元秀才】孔绍安
  金汤既失险,玉石乃同焚。坠叶还相覆,落羽更为群。
  岂谓三秋节,重伤千里分。远离弦易转,幽咽水难闻。
  欲识相思处,山川间白云。
  ◎卷.15【落叶(一作孔德绍诗)】孔绍安
  早秋惊落叶,飘零似客心。翻飞未肯下,犹言惜故林。
  ◎卷.16【踏歌词三首】谢偃
  春景娇春台,新露泣新梅。春叶参差吐,新花重叠开。
  花影飞莺去,歌声度鸟来。倩看飘飖雪,何如舞袖回。
  逶迤度香阁,顾步出兰闺。欲绕鸳鸯殿,先过桃李蹊。
  风带舒还卷,簪花举复低。欲问今宵乐,但听歌声齐。
  夜久星沉没,更深月影斜。裙轻才动珮,鬟薄不胜花。
  细风吹宝袂,轻露湿红纱。相看乐未已,兰灯照九华。
  ◎卷.17【乐府新歌应教】谢偃
  青楼绮阁已含春,凝妆艳粉复如神。细细轻裙全漏影,
  离离薄扇讵障尘。樽中酒色恒宜满,曲里歌声不厌新。
  紫燕欲飞先绕栋,黄莺始哢即娇人。撩乱垂丝昏柳陌,
  参差浓叶暗桑津。上客莫畏斜光晚,自有西园明月轮。
  ◎卷.18【奉和出颍至淮应令】蔡允恭
  久倦川涂曲,忽此望淮圻。波长泛淼淼,眺迥情依依。
  稍觉金乌转,渐见锦帆稀。欲知仁化洽,讴歌满路归。
  ◎卷.19【和卫尉寺柳】杜之松
  汉将本屯营,辽河有戍城。大夫曾取姓,先生亦得名。
  高枝拂远雁,疏影度遥星。不辞攀折苦,为入管弦声。
  ◎卷.20【答王无功冬夜载酒乡馆】崔善为
  颁条忝贵郡,悬榻久相望。处士同杨郑,邦君谢李疆。
  讵知方拥彗,逢子敬惟桑。明朝蓬户侧,会自谒任棠。
  ◎卷.21【答王无功九日】崔善为
  秋来菊花气,深山客重寻。露叶疑涵玉,风花似散金。
  摘来还泛酒,独坐即徐斟。王弘贪自醉,无复觅杨林。
  ◎卷.22【答王无功问故园】朱仲晦
  我从铜州来,见子上京客。问我故乡事,慰子羁旅色。
  子问我所知,我对子应识。朋游总强健,童稚各长成。
  华宗盛文史,连墙富池亭。独子园最古,旧林间新坰。
  柳行随堤势,茅斋看地形。竹从去年移,梅是今年荣。
  渠水经夏响,石苔终岁青。院果早晚熟,林花先后明。
  语罢相叹息,浩然起深情。归哉且五斗,饷子东皋耕。
  ◎卷.23【从军行】王宏
  儿生三日掌上珠,燕颔猿肱秾李肤。十五学剑北击胡,
  羌歌燕筑送城隅。城隅路接伊川驿,河阳渡头邯郸陌。
  可怜少年把手时,黄鸟双飞梨花白。秦王筑城三千里,
  西自临洮东辽水。山边叠叠黑云飞,海畔莓莓青草死。
  从来战斗不求勋,杀身为君君不闻。凤凰楼上吹急管,
  落日裴回肠先断。
  ◎卷.24【文德皇后挽歌】朱子奢
  神京背紫陌,缟驷结行輈。北去横桥道,西分清渭流。
  寒光向垄没,霜气入松楸。今日泉台路,非是濯龙游。
  ◎卷.25【大酺乐】张文收
  泪滴珠难尽,容残玉易销。倘随明月去,莫道梦魂遥。
  ◎卷.26【与琳法师】毛明素
  冶长倦缧绁,韩安叹死灰。始验山中木,方知贵不材。'''
        data_list = data.split('\n')
        return data_list


if __name__ == '__main__':
    poem = Poem()
    poem.find('花', '山', '水', '月', '风')

实现3: 

class Poem:

    # 通过外部传入关键字(花)查找诗句
    def find(self, *kw):
        data = self.load_data()
        for item in kw:
            print(f'******{item}******')
            for line in data:
                line_list = line.replace('。',',').replace(',',',').split(',')
                for sen in line_list:
                    if item in sen and '◎' not in sen:
                        print(sen.strip())
                # line_list = line.replace('。',',').split(',')
                # if item in line and '◎' not in line:
                #     print(line.strip())


    # 数据加载
    def load_data(self):
        data = '''◎卷.1【咏舞】萧德言
  低身锵玉珮,举袖拂罗衣。对檐疑燕起,映雪似花飞。
  ◎卷.2【过严君平古井】郑世翼
  严平本高尚,远蹈古人风。卖卜成都市,流名大汉中。
  旧井改人世,寒泉久不通。年多既罢汲,无禽乃遂空。
  如何属秋气,唯见落双桐。
  ◎卷.3【登北邙还望京洛】郑世翼
  步登北邙坂,踟蹰聊写望。宛洛盛皇居,规模穷大壮。
  三河分设险,两崤资巨防。飞观紫烟中,层台碧云上。
  青槐夹驰道,迢迢修且旷。左右多第宅,参差居将相。
  清晨谒帝返,车马相追访。胥徒各异流,文物纷殊状。
  嚣尘暗天起,箫管从风飏。伊余孤且直,生平独沦丧。
  山幽有桂丛,何为坐惆怅。
  ◎卷.4【巫山高】郑世翼
  巫山凌太清,岧峣类削成。霏霏暮雨合,霭霭朝云生。
  危峰入鸟道,深谷写猿声。别有幽栖客,淹留攀桂情。
  ◎卷.5【看新婚】郑世翼
  初笄梦桃李,新妆应摽梅。疑逐朝云去,翻随暮雨来。
  杂佩含风响,丛花隔扇开。姮娥对此夕,何用久裴回。
  ◎卷.6【见佳人负钱出路】郑世翼
  独负千金价,应从买笑来。只持难发口,经为几人开。
  ◎卷.7【送金竟陵入蜀】崔信明
  金门去蜀道,玉垒望长安。岂言千里远,方寻九折难。
  西上君飞盖,东归我挂冠。猿声出峡断,月彩落江寒。
  从今与君别,花月几新残。
  ◎卷.8【句】崔信明
  枫落吴江冷。
  ◎卷.9【侍宴咏石榴】孔绍安
  可惜庭中树,移根逐汉臣。只为来时晚,花开不及春。
  ◎卷.10【咏夭桃】孔绍安
  结叶还临影,飞香欲遍空。不意馀花落,翻沉露井中。
  ◎卷.11【赠蔡君】孔绍安
  畴昔同幽谷,伊尔迁乔木。赫奕盛青紫,讨论穷简牍。
  ◎卷.12【结客少年场行】孔绍安
  结客佩吴钩,横行度陇头。雁在弓前落,云从阵后浮。
  吴师惊燧象,燕将警奔牛。转蓬飞不息,冰河结未流。
  若使三边定,当封万户侯。
  ◎卷.13【伤顾学士】孔绍安
  迢递双崤道,超忽三川湄。此中俱失路,思君不可思。
  游人行变橘,逝者遽焚芝。忆昔江湖上,同咏子衿诗。
  何言陵谷徙,翻惊邻笛悲。陈根非席卉,繐帐异书帷。
  与善成空说,歼良信在兹。今日严夫子,哀命不哀时。
  ◎卷.14【别徐永元秀才】孔绍安
  金汤既失险,玉石乃同焚。坠叶还相覆,落羽更为群。
  岂谓三秋节,重伤千里分。远离弦易转,幽咽水难闻。
  欲识相思处,山川间白云。
  ◎卷.15【落叶(一作孔德绍诗)】孔绍安
  早秋惊落叶,飘零似客心。翻飞未肯下,犹言惜故林。
  ◎卷.16【踏歌词三首】谢偃
  春景娇春台,新露泣新梅。春叶参差吐,新花重叠开。
  花影飞莺去,歌声度鸟来。倩看飘飖雪,何如舞袖回。
  逶迤度香阁,顾步出兰闺。欲绕鸳鸯殿,先过桃李蹊。
  风带舒还卷,簪花举复低。欲问今宵乐,但听歌声齐。
  夜久星沉没,更深月影斜。裙轻才动珮,鬟薄不胜花。
  细风吹宝袂,轻露湿红纱。相看乐未已,兰灯照九华。
  ◎卷.17【乐府新歌应教】谢偃
  青楼绮阁已含春,凝妆艳粉复如神。细细轻裙全漏影,
  离离薄扇讵障尘。樽中酒色恒宜满,曲里歌声不厌新。
  紫燕欲飞先绕栋,黄莺始哢即娇人。撩乱垂丝昏柳陌,
  参差浓叶暗桑津。上客莫畏斜光晚,自有西园明月轮。
  ◎卷.18【奉和出颍至淮应令】蔡允恭
  久倦川涂曲,忽此望淮圻。波长泛淼淼,眺迥情依依。
  稍觉金乌转,渐见锦帆稀。欲知仁化洽,讴歌满路归。
  ◎卷.19【和卫尉寺柳】杜之松
  汉将本屯营,辽河有戍城。大夫曾取姓,先生亦得名。
  高枝拂远雁,疏影度遥星。不辞攀折苦,为入管弦声。
  ◎卷.20【答王无功冬夜载酒乡馆】崔善为
  颁条忝贵郡,悬榻久相望。处士同杨郑,邦君谢李疆。
  讵知方拥彗,逢子敬惟桑。明朝蓬户侧,会自谒任棠。
  ◎卷.21【答王无功九日】崔善为
  秋来菊花气,深山客重寻。露叶疑涵玉,风花似散金。
  摘来还泛酒,独坐即徐斟。王弘贪自醉,无复觅杨林。
  ◎卷.22【答王无功问故园】朱仲晦
  我从铜州来,见子上京客。问我故乡事,慰子羁旅色。
  子问我所知,我对子应识。朋游总强健,童稚各长成。
  华宗盛文史,连墙富池亭。独子园最古,旧林间新坰。
  柳行随堤势,茅斋看地形。竹从去年移,梅是今年荣。
  渠水经夏响,石苔终岁青。院果早晚熟,林花先后明。
  语罢相叹息,浩然起深情。归哉且五斗,饷子东皋耕。
  ◎卷.23【从军行】王宏
  儿生三日掌上珠,燕颔猿肱秾李肤。十五学剑北击胡,
  羌歌燕筑送城隅。城隅路接伊川驿,河阳渡头邯郸陌。
  可怜少年把手时,黄鸟双飞梨花白。秦王筑城三千里,
  西自临洮东辽水。山边叠叠黑云飞,海畔莓莓青草死。
  从来战斗不求勋,杀身为君君不闻。凤凰楼上吹急管,
  落日裴回肠先断。
  ◎卷.24【文德皇后挽歌】朱子奢
  神京背紫陌,缟驷结行輈。北去横桥道,西分清渭流。
  寒光向垄没,霜气入松楸。今日泉台路,非是濯龙游。
  ◎卷.25【大酺乐】张文收
  泪滴珠难尽,容残玉易销。倘随明月去,莫道梦魂遥。
  ◎卷.26【与琳法师】毛明素
  冶长倦缧绁,韩安叹死灰。始验山中木,方知贵不材。'''
        data_list = data.split('\n')
        return data_list


if __name__ == '__main__':
    poem = Poem()
    poem.find('花', '山', '水', '月', '风')

相关推荐

  1. Python语言-面向对象

    2024-07-23 10:34:02       53 阅读
  2. python面向对象反射

    2024-07-23 10:34:02       61 阅读
  3. Python面向对象编程

    2024-07-23 10:34:02       57 阅读
  4. Python 面向对象(3)

    2024-07-23 10:34:02       73 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 10:34:02       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 10:34:02       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 10:34:02       41 阅读
  4. Python语言-面向对象

    2024-07-23 10:34:02       52 阅读

热门阅读

  1. 开封建筑设计资质申请正确填写信息

    2024-07-23 10:34:02       24 阅读
  2. Android中接入hook框架:lancet-base

    2024-07-23 10:34:02       20 阅读
  3. 如何平衡硬约束与软约束

    2024-07-23 10:34:02       19 阅读
  4. 医学深度学习与机器学习融合的随想

    2024-07-23 10:34:02       21 阅读
  5. 19、基于共享内存的内存池

    2024-07-23 10:34:02       19 阅读
  6. Hisilicon适配按键

    2024-07-23 10:34:02       19 阅读
  7. qml实现双指左右滑动,上下滑动

    2024-07-23 10:34:02       24 阅读
  8. LeetCode 算法:分割回文串 c++

    2024-07-23 10:34:02       26 阅读
  9. 【力扣每日一题】

    2024-07-23 10:34:02       21 阅读
  10. JVM类加载机制详解

    2024-07-23 10:34:02       19 阅读