python语言从基础到实践:http://www.it168.com/redian/pyth/
一:常用类型转换
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串,repr()是将一个对象转成字符串显示,注意只是显示用,有些对象转成字符串没有直接的意思。如list,dict使用str()是无效的,但使用repr可以,这是为了看它们都有哪些值,为了显示之用。 repr和反引号` `一样的作用。他们与eval是相反的一对
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值,即将一个unicode字符转为对应的整数值
例如:将a=u‘盤’(其unicode为76e4,即等价于a=u'\u76e4')转化为一个16进制数字符串'76e4'
方法为:b="%x" %ord(a)即得到字符串'76e4',
若要将字符串'76e4'转化为a=u'盤’
方法为:a=unichr(eval("0x"+b))或者b=eval("u'\\u"+a+"'")
hex(x ) 将一个整数转换为一个十六进制字符串,十六进制的字符串转数字只要使用eval即可以
oct(x ) 将一个整数转换为一个八进制字符串
设var是一个任意类型的变量
则
>>var
>>print repr(var)
的输出是一样的,
repr(var)的输出=var的输出两边加入"",即把var的输出转换为字符串
id(x): x的内存id
a is b: a和b指向同一个引用,即内存id相同
a=eval('{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}')
eval用于计算字符串的python语法值
与exec( 'a={"city":"Beijing","street":" Chaoyang Road ","postcode":100025}')有点不一样
exec用于执行一段语句
当一个字符串被exec,eval(),或execfile()执行时,解释器会先将它们编译为字节代码,然后再执行.这个过程比较耗时,所以如果需要对某段代码执行很多次时,最好还是对该代码先进行预编译,这样就不需要每次都编译一遍代码,可以有效提高程序的执行效率。
compile(str ,filename ,kind )函数将一个字符串编译为字节代码
===========================================================
二:自动识别字符串编码与汉字转unicode字符串
isinstance(s, unicode) 用来判断是否为unicode
isinstance(a,type):a是否为type类型,返回bool值,True值为1,False为0。
type(str).__name__!="unicode"#只有unicode与str两种类型,没有utf8的判断。
三:python编码解码注意的两点
四:python中字符串前r的作用,举例:
五:python 打印所有汉字:
n=0
for ch in xrange(0x4e00, 0x9fa6):
print unichr(ch),
n = n+1
if(n%50==0):
print '\n'
print n
一个int,32位,一个16进制4位,所以32位的数用8个16进制就可以表示
六:使用print写文件,所见即所得
七:repr和eval灵活的用可以产生很多效果
八:在十进制,十六进制,八进制之间转换的方法:
九:改变python的工作目录
# 获得当前目录
>>> os.getcwd()
'/home/piglei'
# 改变工作目录
>>> os.chdir("abc/")
>>>os.chdir("abc\\")
要注意的是,在很多语言,python,html,windows 资源管理器中地址中'/'和'\'一样,不过由于\通常用于转义,所以表示'\'得用一个反转义'\\'
所以使用反斜杠作为目录层级标志的话,必须os.chdir("abc\\")或者os.chdir(r"abc\")
================================================
十:若代码中含有中文,注意在代码的开头加入
# -*- coding:utf-8 -*-