• 2017.07.17 Python网络爬虫之Python基础1


    1.Python变量类型:

    (1)数字

    int类型:有符号整数,就是C语言中所指的整型,也就是数学中的整数,它的大小与安装的解释器的位数有关

    查看当前系统下的Int最大值:

    与C语言不同,Python给变量赋值时不需要预先声明变量类型,也就是说在给变量赋值时小于2147483647的数字默认认为是int类型,超过了则自动为Long类型

    另外,八进制数字,十六进制数字都属于int(Long)类型的

    Long类型:长整型,超过int类型的整数默认转换为Long,一般来说int足够用了,只要内存足够大,Long类型没有限制大小,想赋值多大都行

    Float类型:浮点型实数,也就是数学中带小数点的数,不包括无限小数,不区分精度,只要是带小数点的数都可以看作是浮点型数据

    Complex类型:复数,在C语言中需要自定义的一个数据类型,在Python中把它单独列出作为基本数据类型

    用一个简单的程序来显示Python的数字类型:

    # !usr/bin/env python
    # -*- coding:utf-8 -*-

    class ShowNumType(object):
    def __init__(self):
    self.showInt()
    self.showLong()
    self.showFloat()
    self.showComplex()

    def showInt(self):
    print(u"##########显示整型############")
    print(u"十进制的整型")
    print("%-20d,%-20d,%-20d" %(-1000,0,1000))
    print(u"二进制的整型")
    print("%-20s,%-20s,%-20s" %(bin(-1000),bin(0),bin(1000)))
    print(u"八进制的整型")
    print("%-20s,%-20s,%-20s" %(oct(-1000),oct(0),oct(1000)))
    print(u"十六进制的整型")
    print("%-20s,%-20s,%-20s" %(hex(-1000),hex(0),hex(1000)))

    def showLong(self):
    print(u"########显示长整型###########")
    print(u"十进制的整型")
    print("%-20Ld,%-20Ld,%-20Ld" %(-10000000000000000000,0,100000000000000000000000))
    print(u"八进制的整型")
    print("%-20s,%-20s,%-20s" %(oct(-10000000000000000),oct(0),oct(1000000000000000)))
    print(u"十六进制的整型")
    print("%-20s,%-20s,%-20s" %(hex(-1000000000000000000),hex(0),hex(10000000000000)))

    def showFloat(self):
    print(u"#################显示浮点型##################")
    print("%-20.10f,%-20.10f,%-20.10f" %(-100.001,0,100.001))

    def showComplex(self):
    print(u"#############显示复数型################")
    print(u"变量赋值复数 var=3+4j" )
    var=3+4j
    print(u"var的实部是:%d var的虚部是:%d" %(var.real,var.imag))


    if __name__=='__main__':
    showNum=ShowNumType()

    
    

     2. 字符串是被定义在引号和双引号之间的一组连续的字符,这个字符可以是键盘上的所有可见字符,也可以是不可见的如"回车符"“”“制表符”等等

    经典的字符串的操作方法有:

    (1)字符串的大小写转换:

    S.lower():字母大写转换为小写

    S.upper():字母小写转换为大写

    S.swapcase():字母大写转换小写,小写转换为大写

    S.title():将首字母大写

    (2)字符串搜索,替换:

    S.find(substr,[start,[end]]):返回S中出现的substr的第一个字母的标号,如果S中没有substr则返回-1,start和end作用就相当于在S[start:end]中搜索

    S.count(substr,[start,[end]]):计算substr在S中出现的次数

    S.replace(oldstr,newstr,[count]): 把S中的oldstr替换为newstr,count为替换次数

    S.strip([chars]):把S左右两端chars中有的字符全部去掉,一般用于去除空格

    S.lstrip([chars]):把S左端chars中所有的字符全部去掉

    S.rstrip([chars]):把S右端chars中所有的字符全部去掉

    (3)字符串分割,组合:

    S.split([sep,[maxsplit]]):以sep为分隔符,把S分成一个list,maxsplit表示分割的次数,默认的分割符为空白字符

    S.join(seq):把seq代表的序列---字符串序列,用S连接起来

    (4)字符串编码,解码:

    S.decode([encoding]):将以encoding编码的S解码为unicode编码

    S.encode([encoding]):将以unicode编码的S编码为encoding,encoding可以是GB2312,gbk,big5..........

    (5)字符串测试:

    S.isalpha():S是否全是字母,至少是一个字符

    S.isdigit():S是否全是数字,至少有一个字符

    S.isspace():S是否全是空白字符,至少有一个字符

    S.islower():S中的字母是否全是小写

    S.isupper():S中的字母是否全是大写

    S.istitle():S是否首字母大写的

    编写一个showStrOperation.py实验测试一下:

    # !usr/bin/env python
    # -*- coding:utf-8 -*-

    def strCase():
    """字符串大小写转换"""
    print "演示字符串大小写转换"
    print "演示字符串S赋值为:'This is PYTHON'"
    S='This is a PYTHON'
    print "大写转换成小写: S.lower() =%s" %(S.lower())
    print "小写转换成大写: S.upper() =%s" %(S.upper())
    print "大小写转换: S.swapcase() =%s" %(S.swapcase())
    print "首字母大写: S.title() =%s" %(S.title())
    print ' '

    def strFind():
    """字符串搜索,替换"""
    print "演示字符串搜索,替换等"
    print "演示字符串S赋值为:'This is a PYTHON'"
    S='This is a PYTHON'
    print "字符串搜索: S.find('is') =%s" %(S.find('is'))
    print "字符串统计: S.count('s') =%s" %(S.count('s'))
    print "字符串替换: S.replace('Is','is') = %s" %(S.replace('Is,','is'))
    print "去左右空格: S.strip() =#%s#" %(S.strip())
    print "去左边空格: S.lstrip() =#%s#" %(S.lstrip())
    print "去右边空格: S.rstrip() =#%s#" %(S.rstrip())
    print ' '

    def strSplit():
    """字符串分割,组合"""
    print "演示字符串分割,组合"
    print "演示字符串S赋值为:'This is a PYTHON'"
    S='This is a PYTHON'
    print "字符串分割: S.split() = %s" %(S.split())
    print "字符串组合1:'#'.join(['this','is','a','python']) =%s" %('#'.join(['this','is','a','python']))
    print "字符串组合2:'$'.join(['this','is','a','python']) =%s" %('$'.join(['this','is','a','python']))
    print "字符串组合3:' '.join(['this','is','a','python']) =%s" %(' '.join(['this','is','a','python']))
    print ' '

    def strCode():
    """字符串编码,解码"""
    print "演示字符串编码,解码"
    print "演示字符串S赋值为:'编码解码测试'"
    S='编码解码测试'
    print "GBK编码的S =%s" %(S)
    print "GBK编码的S转换为unicode编码"
    print "S.decode('GBK')=%s" %(S.decode("GBK"))
    print "GBK编码的S转换为utf8"
    print "S.decode('GBK').encode('utf8')=%s" %(S.decode("GBK").encode("utf8"))
    print "注意:不管是编码还是解码针对的都是unicode字符编码, 所以要编码或解码前必须先将源字符串转换成unicode编码格式"
    print ' '

    def strTest():
    """字符串测试"""
    print "演示字符串测试"
    print "演示字符串S赋值为:'abcd'"
    S1='abcd'
    print "测试S.isalpha()= %s" %(S1.isalpha())
    print "测试S.isdigit()= %s" %(S1.isdigit())
    print "测试S.isspace()= %s" %(S1.isspace())
    print "测试S.islower()= %s" %(S1.islower())
    print "测试S.isupper()= %s" %(S1.isupper())
    print "测试S.istitle()= %s" %(S1.istitle())

    if __name__=='__main__':
    strCase()
    strFind()
    strSplit()
    strCode()
    strTest()


    
    
  • 相关阅读:
    Largest Rectangle in Histogram
    Vertica环境安装R-Lang包提示缺少libgfortran.so.1
    Sybase数据库收集表及其索引的统计信息
    Linux 内存管理
    ORA-01439: 要更改数据类型, 则要修改的列必须为空
    MySQL ibdata1文件迁移
    exp/imp 参数说明,中英对照
    expdp/impdp 参数说明,中英对照
    Oracle ASM diskgroup在主机重启后启动失败
    Linux NFS 服务部署
  • 原文地址:https://www.cnblogs.com/hqutcy/p/7192853.html
Copyright © 2020-2023  润新知