天天看点

Python学习笔记(4)

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/3696962

Python学习笔记(4)

1)Python Objects

所有的Python对象都有下列三个特征:

  id:对象间相互区别的唯一标识符。任何对象的id均可通过内建的id()函数获得,其值为内存地址。

  类型:对象的类型指示对象能保持的类型、能应用的操作。可使用内建的type()函数显示对象的类型。

  值:对象表示的数据项。

确定的Python对象有熟悉、数据值或可执行代码(如方法)等。

2)标准类型

· 数字(4种单独的子类型)

  -Regular或纯整数

  -长整数

  -浮点实数

  -复杂数

· 字符串String

· 列表List

· 元组Tuple

· 字典Dictionary

标准类型也作为原始数据类型。在Python中,标准数据类型不是类,因此创建整数和字符串时不涉及实例化。还意味着你不能子类化一个标准类型。

3)其它内建类型

· Type类型

· None空

· File文件

· Function函数

· Module模块

· Class类

· Class Instance类实例

· Method方法

Types和内建的type()函数

type()内建函数:得到对象并返回其类型。

>>> type(4)

<type 'int'>

>>> type('Hello world!')

<type 'str'>

>>> type (type(4))

<type 'type'>

4)None

Python有一个特殊的None对象,它仅有一个值,None。None值等同于C语言的null。None没有属性,总等于布尔值的false。

5)内部类型

-Code

  Code对象是字节编译的Python源码的可执行块,通常通过调用内建函数compile()返回值。

  此对象通过exec或内建函数eval()执行。

-Frame

  Frame对象包含Python解释器在Runtime执行环境所需的所有信息。

-Traceback

  Traceback对象是一数据项,存储异常创建或出现时的堆栈跟踪信息。

-Slice

  当使用Python扩展slice语法时,将创建Slice对象。此扩展语法允许不同的索引类型。这些索引类型包括步距(stride)索引、多维(multi-dimensional)索引,以及使用省略(Ellipsis)类型的索引。

-Ellipsis

  当使用扩展slice符号时,使用Ellipsis对象。

-Xrange

  Xrange对象通过内建函数xrange()创建。

6)标准操作类型

f1和f2引用同一对象:f1 = f2 = 4

f1和f2引用不同对象:f1 = 4; f2 = 3+1

7)内建函数标准类型

cmp(obj1, obj2):比较obj1和obj2的值,返回值为:-1,0,1。

repr(obj):obj转换为字符串,且两边加上“'”符号。

str(obj):obj转换为字符串。

type(obj):查看类型。

import string

alphas = string.letters+'_'

nums = string.digits

print alphas

print nums

print 'Welcome to the Identifier Checker v1.0'

print 'Testees must be at least 2 chars long.'

inp = raw_input('Identifier to test?')

if len(inp)>1:

  if inp[0] not in alphas:

  print '''invalid: first symbol must be alphabetic'''

  else:

  for otherChar in inp[1:]:

  if otherChar not in alphas + nums:

  print '''invalid: remaining symbols must be alphanumeric'''

  break

  else:

  print "okey as an identifier"

8)String的内建方法

string.capitalize() 大写字符串的第一个字母

string.center(width) 字符串以给定宽度显示,如长度不足,两边补充空格

string.count(str,beg=0,end=len(string)) 计算str在字符串中出现的次数

string.encode(encoding='UTF-8', errors='strict') 字符串转换编码,error还有ignore或replace

string.endswith(str,beg=0,end=len(string)) 查看字符串是否以str结尾

string.expandtabs(tabsize=8) 返回字符串,其所有/t用空格代替

string.find(str, beg=0,end=len(string)) 查看子字符串,如子串未发现则返回-1

string.index(str, beg=0,end=len(string)) 同find(),但子串未发现则返回ValueError

string.isalpha() 字符串所有字母均为字符则返回真

string.isdigit() 字符串至少有1个字符,且所有字符均为数字,则返回真

string.islower() 判断字符串所有字符是否小写

string.isspace() 判断字符串是否为空格

string.istitle()  

string.issupper()

string.lower() 转换所有大写字母为小写

string.replace(str1,str2,num=string.count(str1)) 在字符串中用str2替换str1

string.split(str="",num=string.count(str))  

string.upper() 转换所有小写字母为大写

例子:

>>> quest = 'what is your favorite color?'

>>> quest.capitalize()

'What is your favorite color?'

>>> quest.count('or')

2

>>> quest.endswith('blue')

False

>>> quest.endswith('color')

>>> quest

'what is your favorite color?'

>>> quest.endswith('color?')

True

>>> quest.find('or',30)

-1

>>> quest.find('or',22)

25

>>> quest.index('or',10)

16

>>> ':'.join(quest.split())

'what:is:your:favorite:color?'

>>> quest.upper()

'WHAT IS YOUR FAVORITE COLOR?'