zoukankan      html  css  js  c++  java
  • 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()


    
    
  • 相关阅读:
    How to change hostname on SLE
    How to install starDIct on suse OS?
    python logging usage
    How to reset password for unknow root
    How to use wget ?
    How to only capute sub-matched character by grep
    How to inspect who is caller of func and who is the class of instance
    How to use groovy script on jenkins
    Vim ide for shell development
    linux高性能服务器编程 (二) --IP协议详解
  • 原文地址:https://www.cnblogs.com/hqutcy/p/7192853.html
Copyright © 2011-2022 走看看