zoukankan      html  css  js  c++  java
  • Python核心编程学习日记之数字,序列

    第五章  数字

      1.数字类型

        a,Python支持的数字类型:整型,长整型,布尔型。双精度浮点型,十进制浮点型,和复数

        b,建议用大写字母“L”表示长整数。并且,整型和长整型正在趋向统一。必要时整型会悄悄自动转换为长整型,从而避免数值范围越界为用户带来烦恼。

        c,双精度浮点数(类似于c中的double)

        d,复数:实数部分和虚数部分都是浮点数。推荐用后缀“j”,和程序输出保持一致;num.real,num.imag,num.conjugate()分别表示复数的实部,虚部,共轭复数。

      2.运算符

        a,Python支持的运算符几乎全都会进行自动数据类型转换。

        b,现阶段Python仍采用整数相除商取整的做法,将来将会支持得到真正的商。可以通过from __future__ import division来调用该除法。地板除将会由新运算符‘//’支持。

        c,非复数取余等价于:x - (math.floor(x/y) * y)。复数取余等价:x - (math.floor((x/y).real) * y)

        d,幂运算操作符比其左侧操作数的一元操作符优先级高,比其右侧操作数的一元运算符优先级低。

      3.内建函数与工厂函数

        a,int(),long(),float(),complex(),bool()(均由内建函数改变为工厂函数)

        b,内建函数:abs(),coerce(),divmod(),pow(),round()。

          c,只适用于整数:进制转换函数oct(),hex();ASCII转换函数chr(),ord();unichr()

      4.相关模块

        a,decimal,array,math/cmath,operator,random

        b,random包含多个伪随机数发生器。randrange(),uniform(),randint(),random(),choice()

    第六章 序列:字符串、列表和表列

      1.序列类型操作符(所有序列类型均适用)

        a,in,not in: obj [not] in sequence(返回True或False)

        b,seq[ind](获得下标为ind的元素);seq[ind1:ind2](获得下标从ind1到ind2间的元素集合);seq *expr(序列重复expr次);seq1 + seq2(连接序列seq1和seq2,用于合并序列效率低);

        c,扩展切片操作,第三个索引值被用作步长参数;sequence[:None]分隔出整个序列。

      2.内建函数

        a,类型转换:list(iter);str(obj);unicode(obj);basestring()(抽象工厂函数,不能被实例化和调用);tuple(iter)

        b,操作类型函数:len(),reversed(),sum()(三者只接受序列类型);enumerate(iter),sort(),zip()(接受可迭代对象),max(),min()(除iter外还可接受参数表)

      3.字符串

        a,出于性能考虑,尽量不要导入和使用string模板。使用%格式化操作符或者把字符串放到一个列表中然后用join()方法。

        b,Python 的语法允许你在源码中把几个字符串连在一起写。

        c,如果把一个普通字符串和一个Unicode 字符串做连接处理,Python 会在连接操作前先把普通字符串转化为Unicode 字符串。

        d,格式化操作符只适用于字符串:非常类似于c语言的printf()格式代码 format_string % (arguments_to_convert)

        e,字符串模板:from string import Template;原始字符串操作符(r/R),这个类似于c#里的@""用法。

        f,Unicode字符串操作符(u/U):将字符串转换成完全地Unicode字符串对象。(原始Unicode字符串:Unicode操作符必须出现在原始字符串操作符之前)

      4.字符串内建函数

        a,max()和min()函数返回迭代器或者参数列中最大/最小的元素(字符串是按照ASCII码值排列)

        b,enumerate(iter):对象生成由iter 每个元素的index 值和item 值组成的元组;zip()返回一个列表

      5,字符串的独特特性:

        a,一个反斜杠加一个单一字符表示一个特殊字符。也可直接用\000或者\xXX(八进制或者十六进制)的ASCII码值。NUL在Python中没有结束符的含义

        b,三引号允许一个字符串跨多行,字符串中可以包含换行符.制表符等其他特殊字符(多用于嵌入的代码,比如html或者SQL)

        c,处理Unicode规则:程序中出现字符串时一定要加个前缀u;不要用str()函数,用unicode()代替;不要用过时的string模块,它基本上只能正常处理ASCII字符;不到必须时不要再程序里面编解码Unicode字符,只在要写入文件或者数据库或者网络时,才调用encode()函数,相应地,只在你需要把数据读回来的时候才调用decode()函数。

  • 相关阅读:
    UVA 1513
    《ArcGIS Runtime SDK for Android开发笔记》——问题集:.geodatabase创建,创建时内容缺失问题总结
    《ArcGIS Runtime SDK for Android开发笔记》——问题集:使用TextSymbol做标注显示乱码
    《ArcGIS Runtime SDK for Android开发笔记》——(7)、示例代码arcgis-runtime-samples-android的使用
    《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析
    《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)
    《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境
    《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述
    《ArcGIS Runtime SDK for Android开发笔记》——(2)、Android Studio基本配置与使用
    《ArcGIS Runtime SDK for Android开发笔记》——(1)、Android Studio下载与安装
  • 原文地址:https://www.cnblogs.com/xyqhello/p/2859311.html
Copyright © 2011-2022 走看看