python自学从零开始Python

Python基础教程(四)

2017-10-27  本文已影响23人  獨身犬

Python基础

数据类型和变量

数值型

在Python中支持四种不同的数值类型:

  1. int(有符号整型)
  2. long(长整型,也可以代表八进制和十六进制)
  3. float(浮点型)
  4. complex(复数)

计算机由于使用二进制,所以,有时使用十六进制表示整数比较方便,十六进制用0x作为前缀和0-9,a-f表示。例如:0xff000xffff,等等。

字符串(type为str)

字符串是以' '" "括起来的任意文本。而' '" "本身只是表明其数据类型为字符串型,' '" "作为定界符不作为字符串的一部分。
例如:'Axios',其中的字符就只包括Axios这几个 字符。如果'本身也是字符串的一部分的话,那么就可以使用" "作为定界符,例如:"I'm OK",其中包含字符',我们就可以使用不同的定界符进行符号的输出。

如果字符串中既包含'又包含",这样该怎样办?在计算机中有一种转义字符,我们可以使用其来进行表示,比如:

' I\'m \"OK\"! '

其表示真正字符串的内容是:

I'm "OK"!

怎样对变量赋值字符串型的内容,内容的显示呢?让我们来看。

str = "Hello World"    #对变量str赋值内容为Hello World的字符串
print str              #以Python2.X的语法输出变量str

思考:在其他编程语言中,可以对字符串进行截取。例如:Java语言中的substring,Visual FoxPro中的substr,那么在Python中我们该怎样对字符串进行子串的访问呢?

在Python中对字符串取其子串非常方便,可以把字符串当做其它编程语言的一维数组那样了解,使用其下标对字符串进行操作。
Python字符串的下标从0开始,若字符串的长度为n,则字符串的上下限则为[0,n-1]。使用str[头下标:尾下标],就可以截取相应的字符串。

#-*- coding:utf-8  -*-

str="Hello World! "     #字符串变量str,内容为Hello World
print str               #输入完整字符串
print str[0]            #输入字符串中的一个字符
print str[:5]           #输出字符串从默认起始位置0开始到下标为5之间的字符串,即Hello
print str[6:]           #输出字符串从第7个字符开始的字符串,即World
print str[::-1]         #倒叙输出字符串的内容
print str*2             #输出字符串两次
print str+"Test"        #输出连接的字符串
输出结果
思考:代码中的#-*- coding:utf-8 -*-的含义是什么?

如果要在Python2.X的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则Python2.X会默认使用ASCII编码。

思考:为什么会使用ASCII编码而不是使用Unicode编码呢?

因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。
Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示。
Unicode字符串除了多了一个 u 之外,与普通字符串没啥区别,转义字符和多行表示法仍然有效。

思考:若在字符串左右有空格的介入,可是用户又想删除空格,这时该怎么办?

name=" Gideon Yu "          #字符串变量name,内容为 Gideon Yu ,内容左右中均有空格
print name                  #输出完整字符串
print name.lstrip()         #移除字符串左边的空格
print name.rstrip()         #移除字符串右边的空格
print name.strip()          #移除字符串左右两边的空格
print "".join(name.split()) #移除所有的空格
输出结果

spilt()函数
函数格式:str.split(str="", num=string.count(str))
函数功能:Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串。
参数:
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。

例子:

name=" Gideon Yu "     #字符串变量name,内容为 Gideon Yu ,内容左右中均有空格
print name.split()

结果:
['Gideon', 'Yu']

join()函数
函数格式: 'sep'.join(seq)
函数功能:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
参数:
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
返回值:返回一个以分隔符sep连接各个元素后生成的字符串

例子:

part=['Gideon','Yu']
print " ".join(part)

结果:
Gideon Yu

转义字符

转义字符 描述 转义字符 描述
\(行尾时) 续行符 \e 转义
\ 反斜杠符号 \000
' 单引号 \n 换行
" 双引号 \v 纵向制表符
\a 响铃 \t 横向制表符
\b 退格(Backspace) \xyy 十六进制数,yy代表的字符
\f 换页 \oyy 八进制数,yy代表的字符
\r 回车 \other 其他的字符以普通格式输出

例如:\o12代表换行,\x0a代表换行。

如果字符串里面有很多字符都需要转义,就需要加入很多\,为了简化,Python允许使用r' '表示' '内部的字符串默认不需要转义。

#-*- coding:utf-8 -*-
print 'Python 基础教程\nThinking in Python'
print r'Python 基础教程\nThinking in Python'
输出结果

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容。

#-*- coding:utf-8 -*-
print '''Python
基础教程
Thinking in Python'''
输出结果
注意:在换行输出中也是可以使用转义字符的,若想使转义字符失效,则必须使用r前缀。
上一篇下一篇

猜你喜欢

热点阅读