Python的数据类型

Python的数据类型

一、数字
1.整数:python2中区分整型(int)和长整型(long),python3不区分
2.整数的进制表示:

2.1 二进制:以0b开头,只包含0或1;
二进制的进制转换函数:bin()
bin():任意进制的数转换成二进制,接受一个int,返回一个str;
2.2 八进制:以0o开头,只包含0-7;
八进制的进制转换函数:oct()
oct():接受一个int,返回一个str;
2.3 十六进制:以0x开头,包含0-9,A-F;
十六进制的进制转换函数:hex();
hex():接受一个int,返回一个str;
2.4 将其他类型转换成十进制:int()
int():接收一个int/str,转换成int类型

3.浮点型(float类型):在python中是不精确的
4.Decimal使用方法
>>> from decimal import Decimal
>>> mydec = Decimal.from_float(12.22)
>>> mydec
		Decimal('12.2200000000000006394884621840901672840118408203125')
>>> mydec = Decimal('12.22')
>>> mydec
		Decimal('12.22')
>>> 
5.复数:a+bi
>>> a = 4+5j
>>> type(a)
		<class 'complex'>
>>> dir(a)
		['__abs__', '__add__', '__bool__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', 		'__float__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__int__', '__le__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__pos__', '__pow__', '__radd__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rmod__', '__rmul__', '__rpow__', '__rsub__', '__rtruediv__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', 'conjugate', 'imag', 'real']
>>> a.real
		4.0
>>> a.imag
		5.0
二、字符串
1.字符串前面加上r表示: 不转义,作为原始字符串输出
>>> a = 'sanchuang tongle,\n huanying nin' 
>>> print(a)
	sanchuang tongle,
	 huanying nin
>>> a = r'sanchuang tongle,\n huanying nin' 
>>> print(a)
	sanchuang tongle,\n huanying nin
2.字符串的切片取值

2.1 通过下标去切片,step默认为1:str1[start:end:step]

		str1 = 'abcdefghijklmn'
		print(str1[3:7:2])
		print(str1[3:])
		print(str1[:7])

结果

			df
			defghijklmn
			abcdefg

2.2 如果step为正,表示从左往右截取,如果step为负,表示从右往左截取
确认start和end的位置
确认step的步长是多少
2.3 如果把两个字符串相邻放着,他们会被python自动级连:

		a='cali','18'
		print(a)
				结果:
				('cali', '18')
3.字符串的常用方法
3.1#判断系列类
		>>> str1 = '1234567'
		>>> str2 = '123一二三'
		>>> str3 = "abc 123"
		>>> str4 = "Hello Sanchang"

3.1.1 #判断是否全为数字

		>>> str1.isdigit()
			True

3.1.2 #判断是否全为数字,一二三也可以

		>>> str1.isnumeric()
			True
		>>> str2.isnumeric()
			True
		>>> str3.isnumeric()
			False

3.1.3 #是否为大写字母开头

		>>> str3.istitle()
			False
		>>> str4.istitle()
			True

3.1.4 #是否全为小写,中间允许有空格

		>>> 'abc efg'.islower()
			True

3.1.5 #是否由字母和数字组成,不允许由空格

		>>> str3.isalnum()
			False

3.1.6 #判断以什么开头,

		>>> "abcabc xxxyy".startswith("a")
			True
		>>> "abcabc xxxyy".startswith("abc")
			True

3.1.7 #判断以什么结尾

	>>> "abcabc xxxyy".endswith("yy")
			True
3.2查找统计类

3.2.1 #统计长度

		>>> len(str1)
			7

3.2.2 #统计字符出现的次数

		>>> "abcabcdeqaa".count("a")
			4

3.2.3#统计字符第一次出现下标,若是没有则会返回-1

		>>> "abcabcdeqaa".find("aa")
			9
		>>> "abcabcdeqaa".find("aaa")
			-1
3.3转换类

msg = ‘i Am ok’
3.3.1 #upper 大写

		print(msg.upper())
		结果:
			I AM OK

3.3.2 #lower 小写

		print(msg.lower())
		结果:
			i am ok

3.3.3#首字母大写

		print(msg.title())
		结果:
			I Am Ok

3.3.4 #大小写互换

		print(msg.swapcase())
		结果:
			I aM OK

3.3.5 #切割

		msg = 'root:x:0:0:root:/root:/bin/bash'
		msg_lst = msg.split(":")
		print(msg_lst)
		结果:
			['root', 'x', '0', '0', 'root', '/root', '/bin/bash']

3.3.6 #拼接

		msg1="#".join(msg_lsg)
		print(msg1)
		结果:
			root#x#0#0#root#/root#/bin/bash

3.3.7 #替换字符

		msg = 'ab**5%ef'
		msg_lst = msg.replace("*",'#')
		print(msg_lst.replace('%','#'))
		结果:
			ab##5#ef

3.3.8 #去除首尾字符(默认是空白字符)

		msg2 = " # abc #sanchuang # "
		print(msg2.strip())
		print(msg2.strip('#'))
		结果:
			# abc #sanchuang #
 			abc #sanchuang 

3.3.9 #填充(居中对齐,左对齐,右对齐)

		ms3 = '欢迎光临'
		print(ms3.center(50,'*'))
		print(ms3.ljust(50,'*'))
		print(ms3.rjust(50,'*'))
		结果:
			***********************欢迎光临***********************
			欢迎光临**********************************************
			**********************************************欢迎光临
三、字符串的拼接
1、 加号拼接
	str1 = 'i' + 'am' + 'lilei'
	str2 = 'beatfullan ' * 3
	print(str1)
	print(str2)
	str3 = ''.join(['i ','am ','lilei'])
	print(str3)
2、字符串格式化

2.1 使用%占位符来进行格式化:
%s 表示字符串,%d 表示整型十进制,%f 表示浮点数,%x 表示十六进制,%o 表示八进制,%% 表示%本身

	 name = 'wen'
	 age = 18
	 print('i am %s , my age is %s'%(name,age))
	 print('i am %s , my age is %o'%(name,age))

2.2 基本格式:% [(name)] [flags] [width].[precision]typecode
2.2.1 - (name):命名
2.2.2 - flags: +,-,’ ‘或0。+表示正数前面填充‘+’号;-表示左对齐;’ '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐,0表示使用0填充。
2.2.3 - width表示显示宽度
2.2.4 - precision表示小数点后精度

		print('第二格格式化:%-11x'% 10)
		print('第三个格式化:% x'% 10)
2.2.5	flags标志位为 + 或者 空格 只对正数有用,表示和负数对齐,对字符串形式是没有用的
		print('第四个格式化:%010.3f'%2.4352341)
		print('第五个格式化:%.4f'% 4.546456)

2.3 字符串格式化(format):{变量: [填充字符][对齐方式 < ^ >][宽度][格式]}

		name = 'wen'
		age = 18
		print('format01 --> 姓名:{}, 年龄:{}'.format(name,age))
		print('format02 --> 姓名:{1}, 年龄:{0}'.format(name,age))
		print('format03 --> 姓名:{x}, 年龄:{y}'.format(x=name,y=age))
		print('format04 --> {0:*>8}'.format(10,20))

2.4 精度与进制

	print('format --> {1:*>15.2f}'.format(1/3,6.333333333))
	print('format06 --> {0:x}'.format(10))

2.5 千分位格式化:
print(‘format07 -->{0:,}’.format(123456789))
2.6 f 标志位格式化,python3才有

	name = 'wen'
	age = 18
	print(f"my name is {name:a^10},my age is {age}")
四、布尔类型(!!python3里面,True和False都是关键字)
1.Ture --> 1,False --> 0
result = (3>4) + 1 + (5>4)
print(result)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值