一、数字:在python中有3中类型的数——整数、浮点数和复数

1、整数(int):

        1)python2 vs python3

在python2中区分整型和长整型(long),长整型的整数可以无穷大;在python3中统称为整型

        2)进制表示:

二进制:以0b开头,只包含0和1;二进制转换(bin):接收一个int,返回一个str

八进制:以0o开头,只包含0-7;八进制转换(oct):接收一个int,返回一个str

十六进制:以0x开头,包含0-15;十六进制转换(hex):接收一个int,返回一个str

类型转换函数(int):转换成10进制,接收一个int/str,返回一个int

2、浮点型(float):浮点数即带有小数点的数字;float是不精确的

Decimal类型:数据是精确的小数,可以传递给Decimal整型或者字符串参数

从浮点数据转换为Decimal类型:

from decimal import getcontext,Decimal,Context
mydec = Decimal.from_float(12.22)
print(mydec)
mydec = Decimal(12.22)
print(mydec)
# 结果为Decimal('12.2200000000000006394884621840901672840118408203125')

从字符串转换为Decimal类型:

mydec = Decimal('3.14')
print(mydec)
# Decimal('3.14')

3、复数(complex):是实数和虚数的统称

复数的表示:

6.23 + 1.5j
-1.32-854j
0 + 1j

 


二、字符串:是字符的序列

1、字符串的表示方法:

        1)使用单引号

print('hello,world')

        2)使用双引号

print("hello,world")

        3)使用三引号(一般用于输出多行)

a = """hello
world
"""

        4)特殊标记(r)

a = r"hello\tworld"
# 输出为:hello\tworld

2、转义字符:是一种特殊的字符常量;以反斜线"\"开头,后跟一个或几个字符;具有特定的含义,不同于字符原有的意义

        \\:反斜杠符号

        \':单引号

        \":双引号

        \a:响铃

        \n:换行

        \t:横向制表符

        \r:回车

        \f:换页

3、字符串取值

        1)下标取值法

        2)切片取值法:str[start:end:step]      (step默认为1)

                ①如果step为正,表示从左到右截取;如果step为负,表示从右到左截取

                ②确认start和end的位置

                ③确认step的步长是多少

4、字符串的常用方法

        1)判断系列(True/False)

str,isdigit()        #字符串中是否只包含数字
str.isnumeric()      #字符串中是否只包含数字(包括中文一到九等)
str.isalnum()        #字符串中是否只包含字母或数字
str.istitle()        #字符串中是否每个单词首字母大写,其他字母小写
str.isalpha()        #字符串中是否只包含字母(汉字会算作字母)
str.isupper()        #字符串中是否全为大写
str.isidentifier()   #字符串是否为合法标识符
str.isprintable()    #字符串是否为可打印字符
str.islower()        #字符串中是否全为小写
str.isspace()        #字符串中是否只包含空格(tab也算空格)
str.startswith()     #字符串是否以某字符串开始
str.endswith()       #字符串是否以某个字符串结束

        2)查找统计类

len(string)    #统计字符串长度
str.count()    #统计某字符在字符串里出现的长度
str.index()    #显示某字符在字符串中第一次出现的下标位置,没有会报错
str.find()     #查找某字符在字符串中第一次出现的下标位置,找到返回其起始位置,找不到返回-1

        3)字符串转换类

str.upper()                        #将字符串转换为大写
str.lower()                        #将字符串转换为小写
str.title()                        #将字符串中的单词首字母大写,其他字母小写
str.split('sep')                   #指定'sep'作为分隔符将字符串切割成列表,分隔符可以是任意字符
'str'.join(list)                   #将列表用str拼接成一个大字符串
str.strip([string])                #去除字符串中首尾的字符串,不带参数默认去除空格
str.zfill(number)                  #返回指定长度的字符串,原字符串右对齐,前面填充0
str.replace('old','new'[,count])   #用新的字符替换老字符,还可以指定替换的个数,默认全部替换
str.capitalize()                   #句子首字母大写
str.center(width[, fillchar])      #返回一个原字符串居中对齐,width为总长度
str.ljust(width[, fillchar])       #返回一个原字符串靠左对齐,两边用一个字符fillchar填充
str.rjust(width[, fillchar])       #返回一个原字符串靠右对齐
str.expandtabs(number)             #将\t转换成number个空格

5、python字符串拼接

        1)加号拼接

a = 'I' + 'Love' + 'Python'
print(a)

        2)join拼接

a = ['I','Love','Python']
print(''.join(a))

6、python字符串格式化

        1)格式化-%

基本格式:%[(name)][flags][width].[precision]typecode

- (name):命名

- flags:+,-,' '或0。+表示正数前面填充“+”号;-表示左对齐;' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐,0表示使用0填充。

- width:表示显示宽度                 - precision:表示小数点后精度

a = "%s %s %s" %('I','Love','python')
# 按位置
#%s表示字符串                %d表示整型十进制
#%f表示浮点型                %o表示八进制
#%x表示十六进制              %%表示%本身
print("第一个格式化:%010x" % 10)
#输出:第一个格式化:000000000a
print("第二个格式化:%-11x" % 10)
#输出:第二个格式化:a 
print("第三个格式化:%+x" %10)
#输出:第三个格式化:+a
print("第四个格式化:%010.3f"%2.4352341)
#输出:第四个格式化:000002.435
print("第五个格式化:%.4f"%4.2547825)    # 要四舍五入
#输出:第五个格式化:4.2548
print("第六个格式化:%s %%"%("sc"))
#输出:第六个格式化:sc %

        2)格式化-format 

基本格式:{变量:[填充字符][对齐方式 <^>][宽度][格式]}

name = "hahyyy"
age = 18
print("format01 --> 姓名:{},年龄:{}".format(name,age))
#输出:format01 --> 姓名:hahyyy,年龄:18
print("format01 --> 姓名:{1},年龄:{0}".format(name,age))
#输出:format01 --> 姓名:18,年龄:hahyyy
print("format01 --> 姓名:{x},年龄:{y}".format(x = name,y = age))
#输出:format01 --> 姓名:hahyyy,年龄:18
print("format02 --> {0:*>8}".format(10,20))
#输出:format02 --> ******10
print("format02 --> {num:@^10}".format(num=35))
#输出:format02 --> @@@@35@@@@
# 精度与进制:
print("format02 --> {1:*>15.2f}".format(1/3,6.3333333333))
#输出:format02 --> ***********6.33
print("format02 --> {0:x}".format(10))
#输出:format02 --> a
# 千分位格式化:
print("format02 --> {0:,}".format(123456789))
#输出:format02 --> 123,456,789
# 使用索引:
li = "hoho",18
print("name is {0[0]} age is {0[1]}".format(li))
#输出:name is hoho age is 18

        3)格式化-f  (python2中没有)

a = "I"
b = "Love"
c = "Python"
d = f"{a} {b} {c}"
print(d)
#输出:I Love Python

 


三、布尔类型

1、布尔值:是一个逻辑值

2、取值范围:只有Ture和False


四、其他

1、常量:是指一旦初始化后就不能修改的固定值

注意:在python中表示一个常量通常用大写表示,如:PI=3.1415926

2、None:表示什么也没有