9、python正式篇 数据内置类型和方法

时间:2022-09-29
本文章向大家介绍9、python正式篇 数据内置类型和方法,主要内容包括一、数据类型内置方法理论、1、什么是数据内置方法、2、如何调用数据内置方法、二、整型(int)内置方法与操作、1、类型转换、2、进制数转换、三、浮点型(float)内置方法与操作、四、字符串(str)内置方法与操作、使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、数据类型内置方法理论

1、什么是数据内置方法

​ 数据类型是用来记录事物状态的,而事物的状态是不断变化的(如:一个人年龄的增长(操作int类型) ,单个人名的修改(操作str类型),学生列表中增加学生(操作list类型)等),这意味着我们在开发程序时需要频繁对数据进行操作,为了提升我们的开发效率, python针对这些常用的操作,为每一种数据类型内置了一系列方法。

2、如何调用数据内置方法

  在python中数据类型调用内置方法的统一句式为>>>:句点符
	方式1:
		数据值.  # 数据值加句点符(句号)
	方式2:
		变量名.  #绑定数据值的变量名加句点符(句号)
	方式3:
 		str.  # 数据类型加句点符(句号)

二、整型(int)内置方法与操作

1、类型转换

  将其他类型的数据转换成整型
	int(其他类型数据值)
  条件:
	 1、浮点型可直接转(取整,小数点后弃除)
    2、字符串必须满足内部全是纯整数值才可以
    3、其余非数字类型无法转整型
    

2、进制数转换

1、十进制转其它进制数:
	  转二进制:
		print(bin(需要转换十进制数值))  # 二进制数字0b开头
	  转八进制:
		print(oct(需要转换十进制数值))  #八进制数字0c开头
	  转十六进制:
       print(hex(需要转换十进制数值))  #十六进制0x开头
        
2、其它进制数转十进制:
    二进制转十进制:
      print(int(需要转换的二进制数值)) 
	 八进制转十进制:
      print(int(需要转换的八进制数值))
	 十六进制转十进制:
      print(int(需要转换的十六进制数值))
字符串类型数值进行数据转换时,需要括号内注明进制数
	print(int(需要转的进制数,注明进制数类型))

三、浮点型(float)内置方法与操作

1、类型转换

	float(其他类型数据值)
  条件
	1、整数型数据可直接转
	2、字符串类型转换
		1、必须是纯数字
       2、数字内只可含有一个小数点    

四、字符串(str)内置方法与操作

1、类型转换

   关键词:str(需要转换类型的数据值)
   条件:
     1、可转任意类型的数据值(只需在前后加引号)   

2、必须要掌握内置方法

1、索引取值

​ ①正向取值

	# 生成一个字符串
	  a1 = 'holl world'
	# 索引取值第四位
	  print(a1[3]) 
        
	# 输出结果
	  l  # 输出结果

​ ②末向取值

    # 生成一个字符串
      a1 = 'holl world'  
    # 输入负数,从末尾取值
      print(a1[-3])  
        
    # 输出结果
      r  

2、切片操作

​ ①正向切片

    # 生成一个字符串
      a1 = 'holl world'
    # 切片0-3位 (顾头不顾尾)
      print(a1[0:4])

    # 输出结果
      holl

​ ②修改切片间隔

    # 生成一个字符串
      a1 = 'holl world'
    # 切片0-10位,每格5位取值
      print(a1[0:10:5])

    # 输出结果
      hw

​ ③修改切片方向

    # 生成一个字符串
      a1 = 'holl world'
    """
    取值区间默认从左至右
    切片倒数第三个数值到倒数第一个数值
    """
      print(a1[-3:-1])

    # 输出结果
	   rl

​ ④切片操作其他使用方法

    # 生成一个字符串
      a1 = 'holl world'
    # 不写数字就默认全部都要
      print(a1[:])  
    # 从索引2开始往后都要
      print(a1[2:])  
    # 从索引0开始往后要到4
      print(a1[:5])  
    # 默认切片所有数值,间隔两格取值一次
      print(a1[::2])  

3、统计字符串中字符个数

  关键词:len()    
  使用方式: 
    # 生成一个字符串
      a1 = 'holl world'
    # 输入关键字 len(需要统计数字的变量名(包含空格),并打印
      print(len(a1))
    # 输出结果
      10

4、移除字符串首尾指定字符

①表现方式

  关键词:strip()
  使用方式:
    # 设置一个数据值,绑定变量名
      name = '@@kangkang@@'
    # 关键字 strip() ,去除变量名首尾相同字符
      print(name.strip('@'))
    # 关键字 lstrip() ,去除变量名左侧开头相同字符
      print(name.lstrip('@'))
    # 关键字 rstrip() ,去除变量名右侧结尾相同字符
      print(name.rstrip('@'))

    # 对应输出结果
    kangkang
    kangkang@@
    @@kangkang

②具体用法

    '''
    设置一个变量名,绑定并获取用户输入
    在获取用户输入后,添加去除首位指定字符关键字
    strip()  括号内不填,默认去除“空格”
    '''
      name = input('请输入您的用户名>>>:').strip()
    # 设置条件,用户输入关键字,即使首位带空格,任能通过验证
      if name == 'kangkang':
          print('验证通过')

5、切割字符串中指定字符

   关键词:split()
   使用方式:
    # 设置一个字符串,用管道符(|)隔开关键字,并绑定变量名
      stud_name = 'kang|zhang|zhao'
    # 使用切割关键词 split() , 括号内填入分割符号
      print(stud_name.split('|'))

    # 输出结果 默认为列表
      ['kang', 'zhang', 'zhao']
        
1、可在关键字前加L或R,来控制切割方向
2、可在关键字后括号内输入maxsplit加数字,控制切割数量
例1:
   # 从左侧开始切割,切割数量为1
	print(stud_name.split('|', maxsplit=1))  
	
   # 输出结果
   ['kang', 'zhang|zhao']


例2:
# 从右侧开始切割,切割数量为2
print(stud_name.rsplit('|', maxsplit=1))

   # 输出结果
   ['kang|zhang', 'zhao']




### 6、字符串格式化输出

```python
   关键词:format()
   1、字符串格式化输出类似于%s\%d占位符
	2、可以索引取值,并支持反复使用
	 ```

使用方式:
1、等价于占位符
'''
1、设置一段介绍,后方添加关键词
2、format后方括号按顺序填入需要的关键字
'''
message = 'my name is {} my age is {}'.format('kangkang', 18)
# 打印介绍
print(message)

	# 输出结果
     my name is kangkang my age is 18
    
2、索引取值
    '''
    1、设置一段介绍,关键字部位用大括号括住
    2、介绍后方添加format关键词
    3、format()括号内填入信息
    4、支持反复使用,需要介绍处括号内按索引取值方式填入数字
    '''
      res = 'my name is {0} my age is {1} {0} {1}'.format('康康', 18)
    # 打印
      print(res)

    # 打印结果
      my name is 康康 my age is 18 康康 18
        
 3、见名知意
    '''
    1、设置一段介绍,关键字部位用大括号括住并注明关键字
    2、介绍后方添加format关键词
    3、format()括号内按等号方式填入信息
    '''
      res = 'my name is {name} my age is {age}'.format(name= 'kangk', age = 18)
    # 打印
      print(res)
        
    # 输出结果
      my name is kangk my age is 18
        
 4、常规用法--配合input使用
    # 获取用户输入信息
      name = input('请输入姓名>>>:')
      age = input('请输入年龄>>>:')
      age = int(age)
      hobby = input('请输入爱好>>>:')
    # 设置一段自我介绍,关键字部位使用{}括起来,并在括号内填入对应变量名
      message = f'my name is {name}, my age is {age}, my hobby is {hobby}'
    # 打印
      print(message)

    # 用户输入信息
      请输入姓名>>>:kangkang
      请输入年龄>>>:18
      请输入爱好>>>:打球
    # 打印结果
      my name is kangkang, my age is 18, my hobby is 打球




### 7、大小写转换、纯文字判断

```python
	关键词:
        大写:upper()
        小写:lower()
     1、可以将转换数据大小写
     2、可以将用户输入的大小写进行转换,进行统一
    
    使用方式:
    1、常规使用
      # 输入一串英文字符(大小写穿插),绑定变量名
        res = 'helLo woRlD'
      # 使用大写转换关键词,并打印
        print(res.upper())
      # 使用小写转换关键词,并打印
        print(res.lower())

      # 输出结果
        HELLO WORLD
        hello world
        
     2、input用法
       # 设置验证码
         code = '0aBcD'
       # 设置给用户看到的验证码
         print('请按图输入验证码:', code)
       # 获取用户输入
         confirm_code = input('请输入验证码:').strip()
       # 设置条件,并使用关键词统一大小写
         if confirm_code.upper() == code.upper():
            print('验证码正确')

       # 打印结果
        请按图输入验证码: 0aBcD
        请输入验证码:0abcd
        验证码正确
       
    3、判断字符串是否纯大、小写
      # 用法于与上述基本一致
      代码表示:
         isupper()		判断字符串是否是纯大写  False
         islower()		判断字符串是否是纯小写  True
           
    4、判断字符串是否纯文字
       代码表示:
         isdigit()		判断字符串是否是纯文字  True/False
       
      input使用方式
        # 获取用户输入
          guess_age = input('guess_age>>>:').strip()
        # 判断文字是否纯数字
          if guess_age.isdigit():
            # 转换数字为整数类型
              guess_age = int(guess_age)
        else:
            # 验证用书输入有误
              print('您输入的有误,请重新输入')

     

8、替换字符串指定内容

	关键词 : replace()
	使用方式:
    1、常规使用
    # 自定义一串文字
      res = 'my mane is kangkang'
    # 使用关键词 在后方括号内添加需要替换的关键字,并填入重新修改的关键字
      print(res.replace('kangkang', 'xiaoli'))

    # 打印结果
      my mane is xiaoli
     
    2、指定替换个数
       # 关键词(需要需改的,修改后的,修改的个数)
      代码表现:
        res = 'my mane is kangkang,kangkang'
        print(res.replace('kangkang', 'xiaoli',1))
        

9、字符串的拼接

	关键词:join()
    
	使用方式:
    # 参与拼接的数据值必须是字符串
    # 输入拼接的字符,关键词,输入需要拼接的数据值库
      print('|'.join(['123', '456', '789']))
    
    # 打印结果
      123|456|789  

10、统计字符出现的次数

	关键词:count()
    
    使用方式:
     # 在关键词后方括号内输入需要统计的字符
        res = 'hello world'
        print(res.count('l'))
        
     # 打印结果
        2

11、判断字符串开头或结尾

	关键词:
    	开头:startswith()
    	结尾:endswith()
    
    使用方法:
    	# 关键词后括号内输出猜测的字符
        res = 'jason say hello'
        print(res.endswith('o'))  #开头
        print(res.endswith('o'))  #结尾

12、其他用法补充

   关键词
    1、title()  变量名内所有单词首字母大写
    2、capitalize()  变量名内因为仅首字母有大写
    3、swapcase()  变量名内所有单词大小写互换
    4、index()  判断字符所在位置,仅能判断第一位 ,若无报错
    5、index()  判断字符所在位置,仅能判断第一位 ,若无False

五、列表(list)内置方法与操作

1、类型转换

关键词:list(其他数据类型)
   条件:
   ps:能够被for循环的数据类型都可以转成列表
 	 print(list('hello'))
    print(list({'name': 'jason', 'pwd': 123}))
    print(list((1, 2, 3, 4)))
    print(list({1, 2, 3, 4, 5}))

2、需要掌握方法

1、索引取值

	 与字符串基本一致
    11 = [111, 222, 333, 444, 555, 666, 777, 888]
		print(l1[0])
		print(l1[-1])

2、切片操作

	 与字符串基本一致,切片方向与字符串基本一致
    11 = [111, 222, 333, 444, 555, 666, 777, 888]
		print(l1[0:5])
		print(l1[:])
    

3、数值修改

	11 = [111, 222, 333, 444, 555, 666, 777, 888]
        l1[0] = 123  # 0位数据值修改为123

4、统计列表数据个数

	与字符串方法基本一致
    关键词:len()
       11 = [111, 222, 333, 444, 555, 666, 777, 888]
    	print(len(l1)

5、列表添加数据值

①、尾部添加

  关键词:append()
    11 = [111, 222, 333, 444, 555, 666, 777, 888]
    l1.append(999)  # 括号内填写需要插入的数据值
     print(l1)  
  # 输出结果 [111, 222, 333, 444, 555, 666, 777, 888, 999]

②、任意位置添加

	关键词:insert()
     11 = [111, 222, 333, 444, 555, 666, 777, 888]
     l1.insert(0, '999')  # 按索引插入数值
     print(l1)
   # 输出结果 [999, 111, 222, 333, 444, 555, 666, 777, 888]

6、扩展列表 合并列表

	关键词:extend()
     # 设置两个列表,赋予变量名
       a1 = [11, 22, 33]
       b2 = [44, 55, 66]
     # 使用关键词合并列表
       a1.extend(b1)
     # 输出结果
       [11, 22, 33, 44, 55, 66]

7、删除列表数据

①方式一:

	关键字:del
    
	使用方法:
    	a1 = [111, 222, 333, 444, 555, 666, 777, 888]
       del a1[0]  # 按索引填写需要删除的数值

②方式二:

	关键词:remove()
    
	使用方法:
		a1 = [111, 222, 333, 444, 555, 666, 777, 888]
       a1.remove(444)  # 填写需要删除的数值
    # 特点:
       1、括号内数据直接删除

③方式三:

	关键词:pop()
    
	使用方法:
		a1 = [111, 222, 333, 444, 555, 666, 777, 888]
		a1.pop(3)  # 括号内填写索引值
    # 特点:
       1、按索引弹出数值
       1、括号内不填写默认弹出尾部数值
       2、弹出数值不会被直接删除,可设置变量名接收

8、列表排序

	关键词:
    1、升序:sort()
    2、降序:sort(reverse=True)
    
	使用方法:
		count = [55, 33, 11, 44, 22]
		count.sort()  # 默认是升序
		count.sort(reverse=True)  # 降序
     
    # 输出结果
		[11, 22, 33, 44, 55]
		[55, 44, 33, 22, 11]

9、统计列表中某个数值出现次数

	关键词:count()
    
    使用方法:
    # 设置一个数据值列表,绑定变量名字
    ct_ = [11, 22 ,11, 44, 11]
    print(ct.count(11))  # 输入需要统计的数值

10、颠倒列表顺序

	关键词:reverse()
    
    使用方法:
    # 设置一个数据值列表,绑定变量名字
    ct_ = [11, 22 ,33, 44, 55]
    ct_.reverse()  # 设置需要颠倒的列表
    
    # 打印结果
    [55, 44, 33, 22, 11]

六、可变与不可变类型

1、可变类型

​ 列表、集合、字典(可以进行更改,并且更改后物理地址不会发生改变)

2、不可变类型

​ 数字、字符串、元组(不可以进行更改,更改后就是一个新的对象了,物理地址发生了变化)

原文地址:https://www.cnblogs.com/kangssssh/p/16743103.html