python基础

标准类型内建函数


函数功能
cmp(obj1, obj2)比较obj1和obj2,根据比较结果返回整型i
repr(obj)返回一个对象的字符串表示
str(obj)返回对象适合可读性好的字符串表示
type(obj)得到一个对象的类型,并返回相应的type对象

repr()返回的是一个对象的”官方”字符串表示,也就是说绝大多数情况下可以通过求值运算(使用内建函数eval()重新得到该对象),但str()则有所不同。str()致力于生成一个对象的可读性好的字符串表示,它的结果通常无法用于eval()求值,但很适合print语句输出


标准类型的分类


  • 以存储类型为标准的类型分类
分类python类型
标量/原子类型数值(所有的数值类型),字符串(全部是文字)
容器类型列表、元组、字典

以更新类型为标准的类型分类

分类python类型
可变类型列表、字典
不可变类型数字、字符串、元组

以访问类型为标准的类型分类

分类python类型
直接访问数字
顺序访问字符串、列表、元组
映射访问字典

标准类型分类

数字类型存储模型更新模型访问模型
数字标量不可更改直接访问
字符串标量不可更改顺序访问
列表容器可更改顺序访问
元组容器不可更改顺序访问
字典容器可更改映射访问

数字简介

  • 数字提供了标量贮存和直接访问。它是不可更改类型,也就是说变更数字的值会生成新的对象。
  • python支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。

复数的有关概念

  • 虚数不能单独存在,它们总是和一个值为0.0的实数部分一起来构成一个复数
  • 复数由实数部分和虚数部分构成
  • 表示虚数的语法:real+imagj
  • 实数部分和虚数部分都是浮点型
  • 虚数部分必须有后缀jJ

复数属性

属性描述
num.real该复数的实部
num.imag该复数的虚部
num.conjugate()返回该复数的共轭复数

类型转换的基本原则

  • 整型转换为浮点型,非复数转换为复数。在python语言参考中这样描述coerce()方法:
  • 如果有一个操作数是复数,另一个操作数被转换为浮点型;
  • 否则,如果有一个操作数是浮点型,另一个操作数被转换为浮点型;
  • 否则,如果有一个操作数是长整型,另一个操作数被转换为长整型;
  • 否则,两者必然都是普通类型,无须类型转换。

位操作符(只适用于整型)

  • Python整型支持标准位运算:取反(~)、按位与(&)、或(|)和异或(^),以及左移(<<)和右移(>>)。python这样处理位运算:

    1、数会被当成正数的二进制补码处理;

    2、移和右移N位等同于无溢出检查的2的N次幂运算。

    3、整型来说,位操作符使用一种经修改的二进制补码形式,使得符号位可以无限向左扩展。

    4、反运算的优先级与数字单目操作符相同,是所有位操作符中优先级最高的一个。左移和右移运算的优先级次之。

序列:字符串、列表和元组

一、序列

  • 类型操作符

1、成员关系操作符(innot in)

判断一个元素是否属于一个序列。其语法是:`对象 [not] in 序列`

2、连接操作符(+)

该操作符允许我们把一个序列和另一个相同类型的序列做连接。其语法是:`sequence1 + sequence2`

3、重复操作符(*)

当需要一个序列的多份拷贝时,重复操作符非常有用。其语法是:`sequence * copies_int`

4、切片操作符([], [:], [::])

通过指定下标(范围)的方式获取序列中的数据。其语法是:
`sequence[index]`、`sequence[starting_index:ending_index]`、
`sequence[starting_index:ending_index:loop:ending_index]`
序列操作符作用
seq[ind]获得下标为ind的元素
seq[ind1:ind2]获得下标为ind1到ind2间的元素集合
seq * expr序列重复expr
seq1 + seq2连接序列seq1和seq2
obj in seq判断obj元素是否包含在seq中
obj not in seq判断obj元素是否不包含在seq中

序列的内建函数

  • 序列类型转换工厂函数
函数含义
list(iter)把可迭代对象转换Wie列表
str(obj)把obj对象转换为字符串(对象的字符串表示法)
unicode(obj)把对象转换为Unicode字符串(使用默认编码)
basestring()抽象工厂函数,其作用仅仅是为str和unicode函数提供父类
tuple(iter)把一个可迭代对象转换成一个元组对象

- 序列类型可用的内建函数

函数名功能
enumerate(iter)接受一个可迭代对象作为参数,返回一个enumerate对象。该对象生成由iter每个元素的index和item值组成的元组
len(seq)返回seq的长度
max(iter, key=None) or max(arg0, arg1, ... ,key=None)返回iter或(arg0, arg1, …)中的最大值。如果指定了key,这个key必须是可用传给sort()的,用于比较的回调函数
min(iter, key=None) or min(arg0, arg1, ... ,key=None)返回iter或(arg0, arg1, …)中的最小值。如果指定了key,这个key必须是可用传给sort()的,用于比较的回调函数
reversed(seq)接受一个序列作为参数,返回一个以逆序访问的迭代器
sorted(iter,func=None,key=None,reverse=False)接受一个可迭代对象作为参数,返回一个有序的列表;可选参数的含义与list.sort()的参数含义相同
sum(seq, init=0)返回seq和可选参数的综合,其效果等同于reduce(operator.add, seq, init)
zip([it0, it1, ..., itN])返回一个列表,其元素为it0, it1, …, itN.

二、字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值