第一天 也是第一次写博客

来源:互联网 发布:用javascript编写日历 编辑:程序博客网 时间:2024/06/01 10:01

今天第一次写博客 呃 以后也会常写吧 并不知道该怎样写啊
先写一下今天学到的东西吧 应该能加强一下记忆吧 也有一些以前的东西
时间真的很少啊 没做什么一天就要过去了

首先是一些比较杂乱的知识
加入编码 能够显示中文 也能够用中文注释

# -*- coding:gb2312 -*-   #添加编码,可以显示中文,也可用中文做注释

能取到键盘输入的函数,虽然和raw_input差不多

import sys              sys.stdin.readline()        #记录键盘输入,直到输入回车

取运行目录,方便游戏存档或者用户配置和程序保存在一起

import os               print os.getcwd()       #取运行目录

这个比较有用了,能保存读取任何形式的文件,用来做游戏存档?

import picklepickle.dump(变量,路径)  #写入文件,需配合open使用pickle.load(路径)     #读取文件,需配合open使用,可读取非txt文件

大概用法就是

#写入文件files = open('c:\save','wb')    #'wb'是以二进制方式写入player = {health:100,magic:150}pickle.dump(player,files)#读取文件files = open('c:\save','rb')    #'rb'是以二进制方式读取palyer = pickle.load(files)

能调用库中的所有函数而不需要输入库名

fromimport *     #用*让库中函数不需要前缀,直接使用函数

例如

from time import *sleep(2)        #睡眠2秒,不需要输入time.sleep直接用sleep即可

但有时函数名会冲突

函数收集

似乎能更加方便地使用自建函数
举个例子

def param (*params):    #在变量前加*可收集其余参数并合成元组    print params
def param (**params):   #在变量前加两个*可收集其余关键字参数并合成字典    print params

以及收集逆过程

def add(x,y):    print x+yparams = (1,2)      #add需要两个参数,而params只是一个元组,算一个参数add(*params)        #但加了*后函数会主动收集元组中的值来分配到两个参数

同理关键字参数收集的逆过程

def number(name,num):    print name,"'s number is",numdic = {'name':'Alice','num':'1234567'}number(**dic)       #number需要两个参数,加了两个*后可以直接收集字典中的值

不过参数收集逆过程需要字典中的键名与参数名对应

关于自建函数调用外部变量的方法

x=1y=2def plus:    global x        #调用外部函数x,也可以说是绑定全局变量?    global y        #调用外部函数y    print x+y

关于类的一些
子类可以继承父类的函数

class father:           #建立父类    def sayhello(self):        print 'hello'class child(father):    #建立子类,括号中为父类,子类中并没有函数    passchild.sayhello()        #但是子类可以使用父类中的函数

一个子类可以调用多个父类 在调用括号中加入多个父类即可

先加入的父类可以重写(覆盖)后加入的父类的函数
检查继承
虽然并不是很有用但是类的继承很多的时候会很有用
能够检查一个类是否是另一个的子类

issubclass(child,father)    #判断前一个类是否为后一个类的子类

设置类的函数私有化
无法从外部访问类中的个别函数

class Secretive():    __inaccessible(self):     #在函数前面加两个_可以让函数无法从外部访问        pass

其实也有可以从外部访问的方法

s = Secretive()s._Secretive__inaccessible()     #在类前加_在函数前加两个_就可以强行访问私有的函数

所以不存在绝对的私有化

呃 今天就写到这里吧 学到的也只有这么多 并不会写啊 感觉太死板了

0 0