Python基础教程(四)

作者: 獨身犬 | 来源:发表于2017-10-27 11:28 被阅读23次

    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"        #输出连接的字符串
    
    输出结果
    思考:代码中的#-*- 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基础教程(四)

        本文链接:https://www.haomeiwen.com/subject/wnvlpxtx.html