Python之基本数据类型

  • 基本数据类型
  • 数字
  • 整数
  • 浮点数
  • 布尔值和空值
  • 变量
  • 字符串


基本数据类型

数字

整数

整数用来表示整数数值,没有小数部分的数值。
整数包括正整数、负整数和0,并且它的位数是任意的,如果要指定一个非常大的整数,只需要写出其所有位数即可。
整数类型包括十进制整数、八进制整数、十六进制整数和二进制整数。

python任意输入一个整数 python怎样输入一个整数_浮点数


- 八进制整数。

由0~7组成,进位规则是“逢八进一”,并且以0o开头。

- 十六进制整数。

由0~9,A~F组成,进位规则是“逢十六进一”,并且以0x/0X开头。

-二进制数。

只有0和1两个基数,进位规则是“逢二进一”。

浮点数

浮点数由整数个小数部分组成,如1.414、0.2、-1.1、3.1415926等。

在使用浮点数进行计算时,可能会出现小数位数不确定的情况。例如,计算0.1+0.1时,将得到想要的0.2,而计算0.1+0.2时,将得到0.30000000000000004,执行过程如下:

>>>0.1+0.1
>0.2
>>>0.1+0.2
>0.30000000000000004  #忽略多余的小数位数即可

布尔值和空值

布尔类型主要用来表示真或假的值。标识符True和False,主要做逻辑判断。
Python中的布尔值可以转化为数值,其中True表示1,False表示0。(不建议对布尔值进行运算)
None 空值。
当字符串、元组、字典、列表为空时,状态表象为None。

变量

在Python中,严格意义上变量应该称为“名字”,也可以理解为标签。
  • 定义变量
    在Python中,不需要先声明变量名及其类型,直接赋值即可创建各种类型的变量。需遵循几条规则。
    - 变量名必须是一个有效的标识符
    - 变量名不能使用Python中的保留字
    - 慎用小写字母l和大写字母O
    - 应选择有意义的单词作为变量名
    为变量赋值可以通过等号“=”来实现。
    变量的类型可以随时变化。

    在Python中,允许多个变量指向同一个值。

字符串

字符串就是连续的字符序列,可以是计算机所能表示的一切字符的集合。字符串属于不可变序列,通常使用单引
号“‘’”、双引号“""”、或者三引号“''''''”括起来。
字符串开始和结束使用的引号必须一致。另外,当需要表示复杂的字符串是,还可以进行引号的嵌套。

字符串还支持转义字符。所谓转义字符,是指使用反斜杠“\”对一些特殊字符进行转义。

python任意输入一个整数 python怎样输入一个整数_python任意输入一个整数_02


例如:

python任意输入一个整数 python怎样输入一个整数_指定位置_03

python任意输入一个整数 python怎样输入一个整数_浮点数_04


字符串的打印

python任意输入一个整数 python怎样输入一个整数_浮点数_05


格式化字符串

Python的字符串格式化有两种方式:%格式符方式,format方式

- %格式符
%[(name)][flags][width].[precision]typecode
	(name)      可选,用于选择指定的key
	flags          可选,可供选择的值有:
		+       右对齐;正数前加正好,负数前加负号;
		-        左对齐;正数前无符号,负数前加负号;
		空格    右对齐;正数前加空格,负数前加负号;
		0        右对齐;正数前无符号,负数前加负号;用0填充空白处
	width         可选,占有宽度
	.precision   可选,小数点后保留的位数
	typecode    必选
		s,获取传入对象的__str__方法的返回值,并将其格式化到指定位置
		r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
		c,整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-								255);字符:将字符添加到指定位置
		o,将整数转换成 八  进制表示,并将其格式化到指定位置
		x,将整数转换成十六进制表示,并将其格式化到指定位置
		d,将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置
		e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)
		E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)
		f, 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
		F,同上
		g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)
		G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)
		%,当字符串中存在格式化标志时,需要用 %%表示一个百分号

format方式
数字格式的定义以 ‘:’ 号开始。碰到了’: '字符就知道要定义一个数字的显示格式了。格式的定义顺序为
[[fill]align][sign][#][0][width][,][.precision][type]

fill 【可选】空白处填充的字符
align【可选】对齐方式(需配合width使用)
	<,内容左对齐
	>,内容右对齐(默认)
	=,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
	^,内容居中
sign 【可选】有无符号数字
	+,正号加正,负号加负;
	-,正号不变,负号加负;
	空格 ,正号空格,负号加负;
#  【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示
, 【可选】为数字添加分隔符,如:1,000,000
width【可选】格式化位所占宽度
.precision 【可选】小数位保留精度
type 【可选】格式化类型
	传入” 字符串类型 “的参数
		s,格式化字符串类型数据
		空白,未指定类型,则默认是None,同s
	传入“ 整数类型 ”的参数
		b,将10进制整数自动转换成2进制表示然后格式化
		c,将10进制整数自动转换为其对应的unicode字符
		d,十进制整数
		o,将10进制整数自动转换成8进制表示然后格式化;
		x,将10进制整数自动转换成16进制表示然后格式化(小写x)
		X,将10进制整数自动转换成16进制表示然后格式化(大写X)
	传入“ 浮点型或小数类型 ”的参数
		e, 转换为科学计数法(小写e)表示,然后格式化;
		E, 转换为科学计数法(大写E)表示,然后格式化;
		f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
		F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
		g, 自动在e和f中切换
		G, 自动在E和F中切换
		%,显示百分比(默认显示小数点后6位)
tp1 = "i am {}, age {}, {}".format("seven", 18, 'alex')
tp2 = "i am {}, age {}, {}".format(*["seven", 18, 'alex'])
tp3 = "i am {0}, age {1}, really {0}".format("seven", 18)
tp4 = "i am {0}, age {1}, really {0}".format(*["seven", 18])
tp5 = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
tp6 = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
tp7 = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
tp8 = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)
tp9 = "i am {:s}, age {:d}".format(*["seven", 18])
tp10 = "i am {name:s}, age {age:d}".format(name="seven", age=18)
tp11 = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})
print(tp1)
print(tp2)
print(tp3)
print(tp4)
print(tp5)
print(tp6)
print(tp7)
print(tp8)
print(tp9)
print(tp10)
print(tp11)

执行结果

i am seven, age 18, alex
i am seven, age 18, alex
i am seven, age 18, really seven
i am seven, age 18, really seven
i am seven, age 18, really seven
i am seven, age 18, really seven
i am 1, age 2, really 3
i am seven, age 18, money 88888.100000
i am seven, age 18
i am seven, age 18
i am seven, age 18