python基础学习 打卡2 2021/2/15

第八章类:

Class Dog:

    def __init__(self,name,age):

        self.name = name

        self.age = age

    def sit(self):

        print(f"{self.name} is now sitting.")

    def roll_over(self):

        print(f"{self.name} rolled over!")

方法__init__():自动执行的特殊方法,初始化属性

根据类创建实例:my_dog = Dog('dodo',2)

访问属性:my_dog.name

调用方法:my_dog.sit()    my_dog.roll_over()

创建多个实例:your_dog = Dog('willie',3)

直接修改属性的值:my_dog.age = 3

方法修改属性的值:def change(self,n):    self.name = n    my_dog.change(3)

方法对属性递增:def add(self,n):    self.name += n    my_dog.add()


继承 子承父类:

Class ElectricDog(Dog):

    def __init__(self,name,age):

        super().__init__(self,name,age)

重写父类方法:def sit(self):    print("它就是不想坐着")

讲实例用作属性:

Class ElectricDog(Dog):

    def __init__(self,name,age):

        super().__init__(self,name,age)

        self.dog = Dog()

my_dog = ElectricDog('dodo',2)

my_dog.dog.sit()


导入单个类:从dog.py中导入Dog

在一个模块中存储多个类:class Dog:        class Cat:

从一个模块中导入多个类:from dog import Dog,Cat

导入整个模块:import car

导入模块中的所有类:from dog import *

从一个模块中导入另一个模块:from dog import Dog        from cat import Cat

使用别名:from dog import Dog as D        my_dog = D("dodo",2)


python标准库:

随机模块random

随机生成之间整数:from random import randint    randint(1,6)

随机返回列表或者元组中的元素:from random import choice    dogs = ['柯基','法斗']    d = choice(dogs)


第九章文件和异常:

读取整个文件read():

with open('test.txt') as file_object:

    contents = file_object.read()

print(contents.rstrip())    #read()多返回一个空行

文件路径:with open('test_files/filename.txt') as file_object:    #到python_work文件夹下去找

逐行读取:filename = 'test.txt'    with open(filename) as file_object:    for line in file_object:    print(line)

创建一个包含文件各行内容的列表:↑:lines = file_object.readlines()    for line in lines:    print(line.rstrip)

使用文件内容:↑:pi_string = ''    for line in lines:     pi_string += line.strip()

包含一百万位的大型文件:↑:print(f"{pi_string[:52]}...")


写入文件open()    write():

filename = 'programming.txt'

with open(filename,'w') as file_object:

    file_object.write("i love python")

写入模式('w')    附加模式('a')    读写模式('r+')

写入多行:\n

附加到文件:with open(filename,'a') as file_object:    file_object.write("i also love it\n")


异常:try-except代码块

try:

    print(5/0)

except ZeroDivisionError:

    print("you can not divide by zero!")

try没问题就跳过except,有问题就执行except中的内容

else代码块 try执行成功后执行else:

try:

    answer = 5/0

except ZeroDivisionError:

    print("you can not divide by zero!")

else:

    print(answer)

处理FileNotFoundError异常:

filename = 'test.txt'

try:

    with open(filename,encoding = 'utf-8') as f:

        contents = f.read()

except FileNotFoundError:

    print("找不到文件")


分析文本:

拆分字符串split():

title = "Alice in Wonderland"

title.split()

输出['Alice','in','Wonderland']

计算长度len():p = len(titles)

使用多个文件:def count_words(filename):    #放进函数中

for filename in filenames:    count_words(filename)

保持静默pass:    else:    pass


存储数据:

模块json:简单的数据结构存储到文件中,并在程序再次运行中加载文件中的数据

json.dump():

import json

numbers = [2,3,4,5,6]

filename = 'numbers.json'    #数字列表指定存储到哪个文件中

with open(filename,'w') as f:    #写入模式打开

    json.dump(numbers,f)    #json.dump()将数字列表存储到文件numbers.json


json.load():

import json

filename = 'numbers.json'    #数字列表指定存储到哪个文件中

with open(filename) as f:    #读取

    numbers = json.load(f)    #加载存储在numbers.json中的信息


保存和读取用户生成的数据:

import json

username = input("你叫什么?")

filename = 'numbers.json'    #数字列表指定存储到哪个文件中

with open(filename,'w') as f:    #写入模式打开

    json.dump(numbers,f)    #json.dump()将数字列表存储到文件numbers.json

    print(f"我会记住你的{username}!")


import json

filename = 'numbers.json'    #数字列表指定存储到哪个文件中

with open(filename) as f:    #读取

    json.dump(numbers,f)    #json.dump()将数字列表存储到文件numbers.json

    print(f"我会记住你的{username}!")

重构:根据功能组织结构


2020/2/15

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355

推荐阅读更多精彩内容