设为首页 收藏本站
查看: 676|回复: 0

[经验分享] python基础总结(函数,文件操作)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-16 09:54:50 | 显示全部楼层 |阅读模式
一、内建函数
1、数学运算类
        abs(x)#求绝对值
        divmod(a, b)#分别取商和余数
        float([x])#将一个字符串或数转换为浮点数。如果无参数将返回0.0
        int([x[, base]])#将一个字符转换为int类型,base表示进制
        long([x[, base]])#将一个字符转换为long类型
        range([start], stop[, step]) #产生一个序列,默认从0开始
        oct(x)#将一个数字转化为8进制
        hex(x)#将整数x转换为16进制字符串
        chr(i)#返回整数i对应的ASCII字符
2、集合操作类
        format(value [, format_spec])#格式化输出字符串,如“I am {0},I like {1}”
        iter(o[, sentinel])#生成一个对象的迭代器,第二个参数表示分隔符
        max(iterable[, args...][key]) #返回集合中的最大值
        min(iterable[, args...][key])#返回集合中的最小值
        dict([arg])#创建数据字典
        list([iterable]) #将一个集合类转换为另外一个集合类
        str([object]) #转换为string类型
        sorted(iterable[, cmp[, key[, reverse]]])#队集合排序
        xrange([start], stop[, step]) #返回一个xrange对象
3、逻辑判断
        all(iterable)#集合中的元素都为真的时候为真,若为空串返回为True
        any(iterable)#集合中的元素有一个为真的时候为真,若为空串返回为False
        cmp(x, y)#        如果x < y ,返回负数;x == y, 返回0;x > y,返回正数
4、反射
        hash(object)#如果对象object为哈希表类型,返回对象object的哈希值
        id(object)#        返回对象的唯一标识
        len(s) #        返回集合长度
        eload(module) #        重新加载模块
        type(object)        #返回该object的类型
5、io操作
        input([prompt]) #获取用户输入,使用raw_input该函数将不会捕获用户的错误输入
        file(filename [, mode [, bufsize]]) #
        open(name[, mode[, buffering]])         打开文件,推荐使用open
        raw_input([prompt]) #        设置输入,输入都是作为字符串处理
二、文件操作
1、打开模式列表
        #w      以写方式打开,
        #a      以追加模式打开 (从 EOF 开始, 必要时创建新文件)
        #r+     以读写模式打开
        #w+     以读写模式打开 (参见 w )
        #a+     以读写模式打开 (参见 a )
        #rb     以二进制读模式打开
        #wb     以二进制写模式打开 (参见 w )
        #ab     以二进制追加模式打开 (参见 a )
        #rb+    以二进制读写模式打开 (参见 r+ )
        #wb+    以二进制读写模式打开 (参见 w+ )
        #ab+    以二进制读写模式打开 (参见 a+ )
        #"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)rU,r+U
2、文件对象方法
        file.close()                     # 关闭文件
        file.fileno()                    # 返回文件的描述符
        file.flush()                     # 刷新文件的内部缓冲区
        file.isatty()                    # 判断file是否是一个类tty设备
        file.next()                      # 返回文件的下一行,或在没有其他行时引发StopIteration异常
        file.read(size=-1)               # 从文件读取size个字节,当未给定size或给定负值的时候,读取剩余的所有字节,然后作为字符串返回
        file.readline(size=-1)           # 从文件中读取并返回一行(包括行结束符),或返回最大size个字符
        file.readlines(sizhint=0)        # 读取文件的所有行作为一个列表返回
        file.xreadlines()                # 用于迭代,可替换readlines()的一个更高效的方法
        file.seek(off, whence=0)         # 在文件中移动文件指针,从whence(0代表文件起始,1代表当前位置,2代表文件末尾)偏移off字节
        file.tell()                      # 返回当前在文件中的位置
        file.truncate(size=file.tell())  # 截取文件到最大size字节,默认为当前文件位置
        file.write(str)                  # 向文件写入字符串
        file.writelines(seq)             # 向文件写入字符串序列seq;seq应该是一个返回字符串的可迭代对象
3、文件读取
        f = open('tpm.txt')
        # read方式读取
        s = f.read()
        print(s, '\n\n\n')
        print(f.tell())
        #上面读取完后指针移动到最后,通过seek将文件指针移动到文件头
        f.seek(0)
        #使用readline每次读取一行
        while(True):
                line = f.readline()
                print(line)
                if(len(line) == 0):
                        break
        f.close()
        #为了避免打开文件后忘记关闭,可以通过管理上下文,即:
        with open('log','r') as f:
        with open('log1') as obj1, open('log2') as obj2:
    pass
二、函数
1、定义和使用函数
        def 函数名(参数):
                函数体
3、参数
        形参:在定义函数的同时定义变量,如下例的a,b。
        实参:供形参使用的值叫做实参,入下例的3,4。
        def printMax(a, b):
                if a > b:
                        print a, 'is maximum'
                else:
                        rint b, 'is maximum'
        printMax(3, 4)
4、局部变量
        #当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对
于函数来说是 局部 的。这称为变量的 作用域
        使用global可将局部变量定义为全局变量
        例:
        def func():
                global x
                print 'x is', x
                x = 2
                print 'Changed local x to', x
        x = 50
        func()
        print 'Value of x is', x
        结果:
        x is 50
        Changed global x to 2
        Value of x is 2
5、参数
        关键参数
        #如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——
这被称作 关键参数
        我们使用名字(关键字)而不是位置,来给函数指定实参。这样做有两个优势一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数
都有默认值,我们可以只给我们想要的那些参数赋值。下列中的b=5,c=10为默认参数,在不填写时为默认值。
        例子:
        def func(a, b=5, c=10):
                print 'a is', a, 'and b is', b, 'and c is', c
        func(3, 7)
        func(25, c=24)
        func(c=50, a=100)
        输出:
        a is 3 and b is 7 and c is 10
        is 25 and b is 5 and c is 24
        a is 100 and b is 5 and c is 50
        动态参数:
        例1:
        def func(*args):
                print args
        执行1:func(11,33,4,4454,5)
        执行2:li = [11,2,2,3,3,4,54] func(*li)
        例2:
        def func(**kwargs):
                print args
        执行1:func(name='lxb',age=21)
        执行2:dic = {'name':'lxb', age:21, 'gender':'male'} func(**dic)
        执行3:
        def func(*args, **kwargs):
                print args
                print kwargs
6、返回值
        #return 语句用来从一个函数 返回 即跳出函数。我们也可以从函数 返回一个值 。
        def maximum(x, y):
                if x > y:
                        return x
                else:
                        return y
                print maximum(2, 3)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-139764-1-1.html 上篇帖子: python 第三天 编写文件查询、添加、删除 下篇帖子: Python脚本远程批量执行命令 python
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表