python-基本数据类型及内置函数

一、基本数据类型:

1.整型(int)
	本质:就是整数  int()
	内置方法:没有内置函数,就只是用于计算。
	数据类型转换: int(待转的数据)
		1.int 可以将纯整数的字符串转换成整型,且输出的类型都是 int类型。
		2.如果字符串里有字母,或者小数点,特殊符号,则都不能转,会报错。
		3.整型会直接将布尔值 True/False 直接转换成 1/0
	
进制数转换:
	1.进制数有4种。
		二进制、八进制、十进制、十六进制
	2.十进制转其他进制
		bin(十进制数据) => 二进制,bin 为二进制标识
		oct(十进制数据) => 八进制,oct 为八进制标识
		hex(十进制数据) => 十六进制,hex 为十六进制标识
	如果没有任何标识,则默认都是十进制。
	3.其他进制转十进制
		直接用int(其他进制数据) => 十进制数
		或者 直接用int(其他进制数据,n) => 十进制数(n为2,8,16)人为指定进制数。
2.浮点型(float)
	本质:小数 float()
	内置方法:没有内置函数,就只是用于计算。
	数据类型转换
		1.整型转换成浮点型,只需要后面添加小数点和0
		2.有字母不能转换成浮点型,不然报错。
		3.只能识别一个小数点,但不能识别多个小数点。不然会报错。
		4.布尔值转换成浮点型会有 True/ False 转换成 1.0/0.0

3.字符串/字符型(str)
	1.本质:由数字、字母、下划线组成的一串字符。
		有单引号/双引号/三引号构成。注意二三引号也可以用于注释,但左右没有赋值符号或者变量时就是注释,不然就是字符串。
	2.数据类型转换
		兼容所有数据类型的转换。
	3.内置方法
		3.1按索引取值
			正向取: s1[n] (n为阿拉伯数字,1)
			反向取: s1[m] (m为阿拉伯数字负数形式,-1为最右边的第一个数值)
			索引取值只能取值,不能绑定为其他数据值。
		3.2切片
			取出多个字符,切片数据默认都是从左到右的。
			正向切片(顾头不顾尾,前包含后不包含)
			反向切片(为负数,则从最右边第一个数-1开始取)
		3.3间隔/方向
			s1[x,y,z]  (x,y,z 均为阿拉伯数字,也可以为负数)
			当z = 2 时是代表步长为2,就是每取一个字符就中间隔一字符再取,默认1可以不用写。
			取出全部字符: s1[:]
		3.4统计字符串中字符的个数 len
		3.5移除字符串首尾两边的字符,中间字符不行。 strip
			注意:字符串里面一个空格也算一个字符
				  字符调用内置方法,不是改变原来数据,二三产生新的数据值。
		3.6按照指定的字符切割字符串,将指定的字符切除。 split
		3.7字符串大小写转换 lower/upper
			将字符串里的所有字母转换成小写或者大写。
		3.8字符串的格式化输出 {}  format
			方式一:等价于占位符%s====这里用{}来代替占位符,然后xxx.format('要替换的字符','要替换的字符','要替换的字符'....)
			方式二:索引取值,支持重复使用。
				res2 = 'my name is {0} my age is {1} {0} {1} {1} {1}'
				print(res2.format('xz', 18))
        #my name is xz my age is 18 xz 18 18 18
			方式三:按K取值(关键字取值),支持重复使用。
			 res3 = '{name} {name} {age} my name is {name} my age is {age}'
			  print(res3.format(name='xz', age=18))
        #xz xz 18 my name is xz my age is 18
			方式四:'f'
				先定义变量,简写f后面用变量名表示。
			name = 'xz'
			age = 18
			print(f'my name is {name} my age is {age} {name} {age}')
			#my name is xz my age is 18 xz 18
		3.9统计字符串中指定的字符出现的次数 count
		3.10判断字符串的开头或者结尾是不是指定的字符。
			判断开头:s1.startswith('xxx')
			判断结尾:s2.endswith('xxx')
		3.11字符串的替换 replace
			res.replace('xz', 'wyb', 1),从左往右替换指定个数1
		3.12字符串的拼接 join
			注意:列表数据中必须是字符串类型,不然会报错。
		3.13判断字符串中是否全为纯数字 isdigit
			如果全为纯数字则返回值为 True
			如果不是纯数字则返回为 False
		3.14查找某个字符对应的索引值  index
			index 查找索引,如果没有元素,报错
			find 查找索引,如果没有,则会返回为-1,False
		3.15正文
			如果字符串是标题化的,则见(title())则返回为True,不然返回为False。
			print(res.capitalize())  内容第一个字母为大写
			# My name is xz
4.列表(list)
	1.本质:list[1,2,3]。能存储多个数据且方便获取整体或局部数据。用中括号包含多个数据,且数据间用逗号间隔,数据值可以为任意的数据类型。
	2.索引取值,数字的起始位置从0开始数,生活是从1开始数。
	3.遇到复杂结构的构造结构,我们要先学会先拆后找到具体数据的位置。
	4.数据类型转换:
		列表只能转换字典和字符串,不能转换整型和浮点型。
		所以能够被for循环的数据类型都可以转换成列表。
	取值:
		4.1.索引取值:[0]为列表的第一个数。参数为正数,则正向从左往右开始取值。为负数,则从右往左数第一个数为-1。
		4.2.切片操作:[:] 冒号左边为从左开始取值的位置,冒号右边是从左往右最后一个位置,且遵循左包含右不包含。负数代表从右往左取值。
		4.3.间隔
			[::m]两个冒号后面的参数代表每隔 m-1 一个数取一个值。
		4.4.统计列表中数据值的个数。
			len(),统计列表中有多少个数据值。
	5.内置函数
		5.1.count():用来统计指定的成员在列表中出现的个数。
		5.2.index()返回该元素的索引值。
			注意:返回该元素的索引值是该元素在列表中第一次出现的位置。我们也能查询成员在特定位置范围内出现的索引值,eg:index(menber,m,n),表示menber在第m-1到n-1的位置。
		5.3.reverse():该列表元素前后颠倒。
		5.4.sort():将元素从小到大排序,如果想从大到小则可以与reverse()搭配使用。eg:list.sort(reverse = True)
		5.5.append():向列表中添加一个成员。 
		list.append(2)
		list.append('8')
			注意:1.一次只能添加一个成员,并且只能添加在列表末尾。2.可以添加字符串类型。
		5.6.exend():方法向列表中添加成员,并且是参数,可以为列表扩展列表。
			意思是exend后面是列表时,就会多加的列表里的成员到要添加的列表的后面
			如果exend后面跟字符串,则就会一个个字符拆开后依次再加入到列表后面。
			如果想让字符串完整的加入列表,则需要用列表的形式来添加。
		5.7.insert():特定位置添加成员。
			两个参数,insert(m,member),在索引为m(也就是第m+1的位置进行添加)。
			注意:因为是两个参数,索引多加一个参数就会造成错误。
		5.8.remove():从列表中删除指定成员。
			注意:列表中有多个重复成员时,一次只能删第一个。
		5.9.del:用索引进行删除, del list [m] 删除列表第m-1 的数据值。
		5.10.pop{}:将指定位置的元素取出来,并删除,也就是说有返回值。删除的数据,返回出来就是已经删除后的列表。
            >>> list1 = [123, 456, 789]
            >>> list1
            [123, 456, 789]
            >>> b = list1.pop(1)
            >>> b
            456
            >>> list1
            [123, 789]
5.字典(dict)
	1.本质:存储多个数据值,且方便获取,数据间用逗号个开,用大括号包含,数据值形式是K:V键值对。
		K是对V具有描述性性质的信息。
		V的真实的数据值信息,V可以为任意的数据类型。
		为什么按K取值,因为字典是无序性的所以不支持索引取值。
		如果K不存在时,字典中没有K这个数据,则会报错。
		
6.布尔值(bool)
	本质:判断事物的可行性。
	两种状态。  True/False
	命名规律:以is开头
	在实际项目中数据库存储数据的特征,用一个字段来表示数据是否删除。
	没有内置函数。
	
7.元组(tuple)
	7.1.本质:被称为不可改变的列表,用个小括号来包含多数据值,是一个元组是安全的有序容器。
	eg:tuple1 = (1, 2, 3)
	用索引取值。
	list1[0] = 'w' # 打印出[w,  2,  3]

	tuple[0] = 'w' # 打印会出错。
	7.2.数据类型转换:可以将列表转换成元组,但是数据值不能修改。
	
	7.3.内置函数:
		7.3.1 len()计算元组元素个数。
		7.3.2 max()返回元组中元素最大值。
		7.3.3 min()返回元组中元素最小值。
		7.3.4 tuple(列表),将列表转换成元组。
		>>> l1 = ['xx',1,2,'ww']
		>>> l1
		['xx', 1, 2, 'ww']
		>>> t1 = tuple(l1)
		>>> t1
		('xx', 1, 2, 'ww')
	
8.集合(set)
	8.1.本质:集合用于去重和关系运算,重复元素在set自动会被过滤掉。
(去除重复的部分,判断两个集合间的关系)
	用大括号包含多个数据值,符号和字典一样,但是内部结构不一样。类似dict,是一组key的集合,不存储value
	8.2.定义空集合是不一样的。
	不能直接用 set = {},这样返回的数据类型是字符串型,索引需要加个set才能表示是集合的空集合。eg:s = set()。
	8.3数据类型转换:
		8.3.1 列表(list)转换成集合(set)
			ll = [1,2,3,4,5]
                        s1 = set(ll)           
                        print(s1)               #{1, 2, 3, 4, 5}
                        print(type(s1))         #<class 'set'>
		8.3.2 元组(tuple)转换成集合(set)
                        2 = (1,2,3,4,3,2)
                        s2 = set(t2)
                        print(s2)               #{1, 2, 3, 4}
                        print(type(s2))         #<class 'set'>

	8.4内置函数:
              8.4.1 set.add()元素的添加。
				s4 = set([1,2,3,4,5])
				s4.add(6)                  #{1, 2, 3, 4, 5, 6}
				s4.add(3)                  #可以添加重复的,但是不会有效果
				#s4.add([7,8,9])           #报错 不能以列表的形式添加。
				s4.add((7,8,9))            #{1, 2, 3, 4, 5, 6, (7, 8, 9)}
				#s4.add({1:"a"})           #报错 不能以字典的形式添加。
				print(s4)
              8.4.2 set.update(列表,元组,字符串)
			任何数据类型都是以最小单位的形式插入。先拆后一个个放。
				s5 = set([1,2,3,4,5])
				s5.update([6,7,8])          #{1, 2, 3, 4, 5, 6, 7, 8}

				s5 = set([1,2,3,4,5])
				s5.update((9,10))           #{1, 2, 3, 4, 5, 9, 10}

				s5 = set([1,2,3,4,5])
				s5.update("luck")           #{1, 2, 3, 4, 5, 'c', 'k', 'u', 'l'}

				s5 = set([1,2,3,4,5])
				s5.update("never","luck")   #{'u', 1, 2, 3, 4, 5, 'k', 'l', 'n', 'r', 'v', 'c', 'e'}
              8.4.3 set.remove()删除指定元素。
				s6 = set([1,2,3,4,5])
				s6.remove(3) 
				print(s6)                    #{1, 2, 4, 5}
              8.4.4 遍历
				s7 = set("hello")
				for i in s7:
					print(i)
				'''
				输出:
				h
				o
				e
				l
				'''
              8.4.5 set 没有索引。
				s7 = set("money")
				for index, data in enumerate(s7):
					print(index, data)
				'''
				0 y
				1 n
				2 o
				3 e
				4 m
				'''
			 #set没有索引
#print((s7[3]))#会报错
			会出现:TypeError: 'set' object is not subscriptable
			 
              8.4.6 交集 &
				s8 = set([1,2,3])
				s9 = set([2,3,4])

				a1 = s8 & s9             #交集
				print(a1)                #{2, 3}
				print(type(a1))          #<class 'set'>
			8.4.7 并集 |
				s8 = set([1,2,3])
				s9 = set([2,3,4])

				a2 = s8 | s9             #并集
				print(a2)                #{1, 2, 3, 4}
				print(type(a2))          #<class 'set'>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值