python学习笔记,类型转换出错的解决方法!

    xiaoxiao2021-03-25  102

    A、类型转换出错的解决方法:

    Python可以使用int(), float()等类型转换函数实现类型转换的功能,特别是string类型转换。 

    现这种情况的原因是被转换的字符串包含不是数字的字符,例如小数点,连字符,或者其他的字符。

    例如:

    h=float("\n9") 这个转换会出错,主要是因为其包含了不是数字的字符,\n。如果去掉\n这转换成功。

    所以以后可以把数值打印出来,看看是否包含了非法字符。

    1、python对象

    #号(#):注释

    换行(\n):换行

    反斜杠(\n):继续上一行

    分号(;):两个语句连在一行

    冒号(:):将代码块的头和体分开

    不同的缩进深度代表不同的代码块,def定义的函数块其是没有结束标志的,只要当缩进度一样就还是块里的,

    当缩进度等于def的缩进时就代表代码块结束了,如下:

    foo_func()函数结束在第二个print

    def foo_func(): print 2 print 4 foo_func()

    foo_func()函数结束在第一个print

    def foo_func(): print 2 print 4 foo_func()

    cmp(obj1,obj2)比较obj1和obj2,返回整形i(>0;=0;<0)

    repr(obj)或‘obj’返回obj的字符串表示,即转换成字符串

    str(obj)返回obj适合可读性好胡字符串表示,即转换成字符串,推荐使用这个

    type(obj)返回obj的类型

    isinstance(obj,obj_type):判断obj是否为obj_type类型,返回布尔值,例:print isinstance(4,int)  得出false。

    注意:Python 没有 char 或 byte 类型来保存单一字符或 8 比特整数。你可以使用长度为 1 的字符串表示字符或 8 比特整数。

    int vs short vs long:无区别   float vs double:无区别

    幂运算(**)   -3**2=-9   内建函数pow()功能相同

    divmod(num1,num2) 返回元组(num1/num2,num1%num2)

    hex(num) 将num转化为十六进制,并以字符串返回   仅适用于整型的内建函数:

    chr(num)返回num胡ASCII值,范围:0<=num<=255   仅适用于整型的内建函数:

    {}为字典,里面的:之前的为键如‘name’、‘port’而后面的为值。不允许一个键对应多个值。 

    dict1={'name':'earth','port':80} for key in dict1.keys(): print 'key=%s,value=%s'%(key,dict1[key]) 第八章 条件和循环

    python不支持switch/case语句,但完全可以用if/else的结构来代替

    三元操作符:X if C else Y (如果条件C成立,则结果为X,否则为Y)

    t=3 if isinstance(4,bytes) else 8 print t for语句

    b = [1]*10 #print b for i in range(0,10): print b[i], for i in range(0,10): print b[i]

    pass语句:Python中提供pass语句,表示不做任何事,NOP(No Operation)

    第九章 文件输入和输出

    文件内建函数(open()和file())

    open()语法:file_object = open(file_name, access_mode=‘r’,buffering=-1)

    open()和file()函数具有完全相同的功能,一般来说,建议使用open()来读文件,在你想说明你是处理文件对象的时候使用file(),例如 if isinstance(f, file)

    文件内移动:seek() 0,1,2分别代表文件开头,当前位置,文件末尾

    fl=open('f.txt',mode='r') print fl.seek(4) print fl.readline() print fl.readline()

    第十二章 模块

    import语句的模块顺序:  Python标准库模块  Python第三方模块  应用程序自定义模块

    globals()和locals()分别返回调用者全局和局部名称空间的字典。 reload()重新导入一个已经导入的模块: reload(module) 使用reload()时候必须是全部导入,而不是使用from-import。 第十三章 面向对象编程

    class MyNewObgectType(): def __init__(self): print 'kk' def printFoo(self): print 'You invoked printFoo()' myFirstObject=MyNewObgectType() myFirstObject.printFoo() 打印为:kk

                   You invoked printFoo()

    你可能注意到self参数,它在所有的方法声明中都存在。并且必须是第一个参数。这个参数代表实例对象本身,当你调用方法的时候由解释器悄悄地传递给方法,而不需要你自己传递self。 _init_()方法:类似于一个构造器,但不能说是一个构造器(因为python没有使用new),它在创建一个新的对象时被调用,完成一个初始化工作。

    类、属性和方法的命名方式: 类:通常大写字母打头。这是标准惯例。有助于识别类。 属性:小写字母打头 + 驼峰,使用名词作为名字。 方法:小写字母打头 + 驼峰,使用谓词作为名字。

    Python不支持纯虚函数(如C++)或抽象方法(如Java)。

    dir(class_name): 返回类对象的属性的一个名字列表 class_name.__dict__ : 返回的是一个字典,key是属性名,value是数据值

    __init__()方法不应该返回任何对象,即,它应该返回None,否则将产生TypeError。

    子类可以通过继承覆盖父类的方法。类似,如果在子类中覆盖了了__init__()方法,那么基类的__init__()就不会被自动调用了。 同C++一样,Python支持多继承

    第十四章 执行环境

    >>>eval_code = compile(‘100+200’, ‘’, ‘eval’) >>>eval(eval_code) 300

    用compile()预编译重复代码有助于改善性能,因为在调用时不必经过字节编译处理。

    结束执行:  sys.exit() and SystemExit

    os._exit(status):跟以上两种不同,它不执行任何清理就直接退出Python解释器。且status参数是必须的。

    转载请注明原文地址: https://ju.6miu.com/read-23470.html

    最新回复(0)