百行代码入门Python - Chapter 3

以下代码采用Python3.5.2编写。
新建一个HelloWorld.py文件,当然文件名无所谓,只要不和下文中提及的文件重名即可,输入如下代码:

#Class
class Bird(object):
    feather= True
    reproduction="egg"
    def chirp(self, sound="some sound"):
        print(sound)
    def set_color(self,color):
        self.color=color
        return color

import second
second.sleep()

import second as t
t.sleep()

import my_dir.third as mydir
mydir.sleep()

#file
f=open("test.txt","w")
f.write("I like python\r\n")
f.write("I like python too")
f.close()
print(f.closed)
f=open("test.txt","r")
content=f.read(1)
print(content)
content=f.readline()
print(content)
content=f.readlines()
print(content)
f.close()

#context manager
with open("test.txt","w") as f:
    f.write("Hello Python!")

print(f.closed)

class Vow(object):
    def __init__(self, text):
        self.text=text

    def __enter__(self):
        self.text="I say: "+self.text
        return self
    def __exit__(self, exc_type, exc_value, traceback):
        self.text=self.text+"!"

with Vow("I'm fine") as myVow:
    print(myVow.text)

print(myVow.text)

#pickle
import pickle
summer = Bird()
with open("summer.pkl","wb") as f:
    pickle.dump(summer,f)

with open("summer.pkl","rb") as f:
    summer=pickle.load(f)

print(summer.feather)

#operator method
class SuperList(list):
    def __sub__(self,b):
        a=self[:]
        b=b[:]
        while len(b)>0:
            element_b=b.pop()
            if element_b in a:
                a.remove(element_b)
        return a

print(SuperList([1,2,3])-SuperList([3,4]))

example_dict = {"a":1,"b":2}
example_dict.__delitem__("a")
print(example_dict)

#__dict__
class Chicken(Bird):
    fly=False
    def __init__(self, age):
        self.age=age
    def chirp(self):
        print("ji")

summer=Chicken(2)
print("===> summer")
print(summer.__dict__)
print("===> Chicken")
print(Chicken.__dict__)
print("===> Bird")
print(Bird.__dict__)
summer.chirp()

autumn = Chicken(3)
autumn.feather=False
print(summer.feather)
print(autumn.feather)
print(autumn.__dict__)
print(Bird.__dict__)
Bird.feather=3
print(summer.feather)

新建一个名为second.py的文件,输入以下代码,注意与上述文件保留着同一个目录下:

def sleep():
    print("I am sleeping")

在主文件所在目录下新建一个目录,名为my_dir,然后在该新目录下新建两个文件,一个是__init__.py,该文件用来提示IDE这个目录为模块目录,可以是空文件;另一个是third.py,输入以下代码:

def sleep():
    print("I'm sleeping in third.py")

方便起见,可以注释掉主文件中不需要或者还没读到的代码,一步步学习。

时间: 2024-10-01 03:09:05

百行代码入门Python - Chapter 3的相关文章

百行代码入门Python - Chapter 4

以下代码均采用Python 3.5.2编写.新建一个名为HelloWorld.py的文件,当然名字无所谓,输入以下代码: #Class class Bird(object): feather= True reproduction="egg" def chirp(self, sound="some sound"): print(sound) def set_color(self,color): self.color=color return color #proper

百行代码入门Python - Chapter 1

以下代码均用Python 3.5.2编写. 一下代码建立在一个名为HelloWorld.py的主程序中,当然名字是次要的,随便取一个,只要不和本文中的其它文件重名即可.读懂以下示例代码即可入门Python: #Basics print("Hello World") example_dict={"liaobin":20, "yujing":18, "jiansheng":16} print(example_dict["

百行代码入门Python - Chapter 6

以下代码均采用Python 3.5.2编写.新建一个名为HelloWorld.py的文件,当然名字无所谓,输入以下代码: #filter def larger100(a): return a>100 for i in filter(larger100,[10,56,101,500]): print(i) #reduce from functools import reduce data_list = [1,2,5,7,9] result=reduce(lambda x,y: x+y, data_

百行代码入门Python - Chapter 5

以下代码均采用Python 3.5.2 编写.新建一个名为HelloWorld.py的文件,当然名称无所谓,输入以下代码: #func return def line_conf(): b=15 def line(x): return 2*x+b b=5 return line my_line=line_conf() print(my_line(5)) #closure print(my_line.__closure__) print(my_line.__closure__[0].cell_con

百行代码入门Python - Chapter2

以下代码均采用Python 3.5.2编写. 建立一个名为HelloWorld.py的文件,当然名字无所谓,只要不是文字提及的其它文件名字即可,读懂以下代码方可轻松入门Python: #Class class Bird(object): feather= True reproduction="egg" def chirp(self, sound): print(sound) def set_color(self,color): self.color=color return color

PHP百行代码快速构建简易聊天室

聊天室   无聊情况下,看能用比较少的代码构建聊天室,一开始写了整整100行把聊天室内完成,后来觉得很多功能没有,又重新修改,加了不少代码.其实不利用特别复杂的技术,比如模板.数据库等等,一样能做比较不错的聊天室,适合个人使用. 基本功能:能登陆,聊天,记录在线人数IP事件,能控制聊天的字体颜色,自动把转化聊天中网址为链接地址,能定制聊天室标题.广告信息等等.使用文本作为存储媒体,又兴趣可以参考代码,并且进行扩展. 其实PHP作为快速开发的脚本语言是很棒的! ===代码=== <?php/** 

极致之美——百行代码实现全新智能语言第1/6页_javascript技巧

首先要解释一下: "极致之美"不是说月儿的这篇文章,因为本人还没有自大到这种程度:P,它形容的是Lisp和javascript结合的优美形态. 本来以下内容是要在无优首发的,但是不巧完成文章的当天忽然发现无优"弹"了,直到上周末才恢复=.=,由于不能等那么久,所以就先放到月儿在CSDN上的博客里去了. 正如标题所描述的,下文是关于用javascript实现类Lisp语言的技巧,然而重点不在于如何实现一门编程语言,而是在于通过思考和实现过程展示javascript的简

PHP程序百行代码快速构建简易聊天室方法

 基本功能:能登陆,聊天,记录在线人数IP事件,能控制聊天的字体颜色,自动把转化聊天中网址为链接地址,能定制聊天室标题.广告信息等等.使用文本作为存储媒体,又兴趣可以参考代码,并且进行扩展. 其实PHP作为快速开发的脚本语言是很棒的! ===代码=== 以下为引用的内容:  <?php /**  * 黑夜路人简易聊天室  * 作者: heiyeluren <heiyeluren_at_163.com>  * 创建: 2005-8-10 22:42  * 修改: 2005-8-11 23:

3行代码给你的python提速4倍!

Python绝对是处理数据或者把重复任务自动化的绝佳编程语言.要抓取网页日志?或者要调整一百万张图片?总有对应的Python库让你轻松完成任务. 然而,Python的运营速度一直饱受诟病.默认状态下,Python程序使用单个CPU的单个进程.如果你的电脑是最近十年生产的,多数情况下会有4个及以上CPU核.也就是说,当你在等程序运行结束的时候,你的计算机有75%或者更多的计算资源都是空置的! 让我们来看看如何通过并行运算充分利用计算资源.多亏有Python的concurrent.futures模块