Python基础教程(四)

Python基础

数据类型和变量

  • 数据类型
    电子计算机也就是我们俗称的计算机(电脑),其主要功能是完成科学计算的任务,因此,计算机程序当然可以处理各种数据信息。但是数据源无处不在,人类无时无刻不在不生成数据,数据的格式也就多种多样,计算机除了可以计算数值,还可以处理文本信息、音像信息等各种各样的数据,为了可以方便的定义和管理这些数据,我们引入了数据类型的概念。

数值型

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

  1. int(有符号整型)
  2. long(长整型,也可以代表八进制和十六进制)
  3. float(浮点型)
  4. complex(复数)
  • Int 有符号整型
    int可以处理整数,整数负数都可以,在Python中的表示方式与数学上的写法无二,例如:0-11024,等等。

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

  • Long 长整型(期望)
    Long类型代表着无限大小的整数,但是这样写实数要在数字的最后加一个大写或者小写的L但为了避免与数字1混淆建议使用大写的L来显示长整型。
  • Float 浮点型
    Float数值由整数部分和小数部分组成,之所以成为浮点数,是因为按照科学计数法表示时,一个浮点数的小数点位置是可以改变的。但是对于非常大或者非常小的浮点数,就必须使用科学计数法表示,把10用e代替。例如:1.024e3 = 1.024*10^3 = 1024,等等。
    注意:整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差
  • Complex
    Complex复数类型,复数由实数部分和虚数部分组成,可以用a+bj,或者complex(a,b)表示,复数的实数部分和虚数部分均为浮点型。例如:3.14j4.53e-7j-6545+0j
    注意:虚数部分后的字母J,大小写均可

字符串(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"        #输出连接的字符串

Python基础教程(四)_第1张图片
输出结果

思考:代码中的 #-*- 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前缀。

你可能感兴趣的:(Python基础教程(四))