Python基础:数据类型

内容概要

主题:数据类型(简单接触一下)

  • 字符串
  • 列表
  • 字典
  • 布尔值
  • 元组
  • 集合
  • 与用户交互
  • 基本运算符

内容详细

数据类型之字符串str

作用:主要用于记录描述性质的数据 eg:姓名 地址 邮箱

定义:

​ 方式1: 单引号 name = 'zhangsan'

​ 方式2: 双引号 name = "zhangsan"

​ 方式3: 三个单引号 name = '''zhangsan'''

​ 方式4: 三个双引号 name = """zhangsan"""

注:三个单双引号时左侧出现了赋值符号和变量名为字符串 否则为注释

为什么定义字符串需要这么多种方式?

​ res = 'zhangsan说:'年轻不是挥霍的资本 更不要高估自己''

​ 目的是为了防止字符串文本内还需要使用到引号 为了避免冲突

​ res = 'zhangsan说:''年轻不是挥霍的资本 更不要高估自己'''

数据类型之列表list

作用:能够存储多个数据并可以方便的取出任意个数

特征:中括号括起来 内部可以存放多个元素 元素与元素之间逗号隔开 元素可以是任意数据类型

​ [11, 1.1, zhagsan, [11, 222, 33, 44]]

索引取值(从0开始的连续数字)

小练习:

        l1 = [11, 33, 'zhangsan', 55, 66]

        print(l1[2])

        # 取出的值是zhangsan

        l1 = [11, 1.1, 'jason', [11, 22, 33, [123, 321, 'zhangsanNB', 555]]]

        print(l1[3][3][2])

        # 取出值是zhangsanNB

数据类型之字典dict

作用:能够更加精确的存储数据

定义:大括号括起来 可以存放多个元素 元素与元素之间逗号隔开 元素是K:V键值对的形式

​ K是对V的描述性性质的信息(一般情况下都是字符串)

​ V是真正的数据 相当于变量的值 可以是任意的数据类型

        d = {
             'username': 'zhangsan',
             'age': 18,
             'hobby': '学习',
             'salary': 13
             }

                # 字典无法使用索引取值
                # print(d[0])
                # 字典取值需要借助于K
                # print(d['username'])  # zhangsan
                # print(d['salary'])  # 13

			# 例题:
            # 取出"中国最牛逼"
            info = {
                'username': 'zhangsan',
                'addr': ['山东', '菏泽', {'国家': '中国', '编号': [11, 22, '中国最牛逼']}]
            }

            print(info['addr'][2]['编号'][2])


数据类型之布尔值bool

		作用:用于判断事物的对错  是否可行等
    	定义:
        		True	对的  正确的  可行的
            	False	错的  不可行的
                
         # 补充
        	针对布尔值的变量名一般采用is开头
            	is_right = True
                is_delete = False
                is_alive = True
          # 扩展
        	显示生活中的数据存储与销户  其实很大概率上并没有删除数据
            而是修改了数据的某个唯一标识  然后通过代码筛选过滤掉
          # 记忆
        		在Python中所有的数据类型都可以转成布尔值
            	布尔值为False的有:
                		0, None, '', [], {}...
                    其他情况一律为True


数据类型之元组tuple

		作用:与列表几乎一致  内部可以存放多个元素(可以看成是不可变的列表)
		定义:用小括号括起来  内存存放多个元素  元素与元素之间用逗号隔开  元素不支持修改
				t = (11, 22, 333, 55, 66)


数据类型之集合set

			作用:去重和关系运算
    		定义:用大括号括起来  内存可以存放多个元素  元素与元素之间逗号隔开  元素不是K:V键值对
        		s = {11, 22, 33, 44, 55, 66}

与用户交互

		# 输入
    		# 获取用户输入
        	username = input('请输入您的用户名>>>:')
			'''将input获取到的用户输入绑定给变量名username'''
			print(username, type(username))
            # input获取到的用户输入全部都会转成字符串
            
          # 输出
        	print()
            1.括号可以使用逗号隔开多个元素一起打印
            2.自带end参数  可以控制打印的排版
            		print(123,end='\n')
                	print(123,end='$')

格式化输出

		将字符串中某些内容替换掉在输出就是格式化输出
    
    	

            res = '亲爱的%s你好!这里是澳门赌场,你本次消费是%s元,累计欠款%s元'


            print(res % ('市民小赵', 5000000, 1100000000))

			'''
			1.先使用占位符占位   %s
			2.在使用%按照位置一一替换
			'''

			# %d只能给数字占位(了解)
            print('%08d' % 123)
            print('%08d' % 11)
            print('%08d' % 666)
            print('%08d' % 77778778)


运算符


				# 算术运算符
    				// % **
        		# 比较运算符
            		==	判断值是否相等
                	!=	值不等于
                 # 赋值运算符
                	=
                 # 增量赋值(偷懒)
                	n = 111
                    n = n + 1  # n += 1
                    n = n - 1  # n -= 1
                    n = n * 1  # n *= 1
                    n = n / 1  # n /= 1
                    
                    
                # 链式赋值(偷懒)
                	# x = 111
                    # y = x
                    # z = y
                    x = y = z = 111
                    
                # 交叉赋值(笔试题)
                	m = 10
                    n = 999
                    # 错误解答
                    # m = n
                    # n = m
                    # print(m, n)  # 999 999
                    
                    # 方式1: 利用中间变量
                    # tmp = m
                    # m = n
                    # n = tmp
                    # print(m, n)  # 999  10
                    # 方式2:交叉赋值
                    	m, n = n, m
                        print(m, n)  # 999 10
                        
                        
                    # 解压赋值
                    	 

                	 name_list = ['jason', 'kevin', 'tony', 'jack']
                    # name1 = name_list[0]
                    # name2 = name_list[1]
                    # name3 = name_list[2]
                    # name4 = name_list[3]
                    # 解压赋值
                    # name1, name2, name3, name4 = name_list  # 左右两边个数相等
                    # name1, name2, name3 = name_list  # 少一个不行
                    # name1, name2, name3, name4, name5 = name_list  # 多一个也不行
                    # 进阶用法:可以打破上述规律  特殊符号 *号
                    name1, *_, name2 = name_list
                    print(name1, _, name2)  # jason ['kevin', 'tony'] jack
                    name1, *_ = name_list
                    name1, name2, *_ = name_list
                    '''
                    *可以接受多余的元素 组织成列表赋值给后面的变量名
                    下划线单独作为变量名 通常表达的意思指向的值没有啥用
                    '''


逻辑运算符

                				在Python逻辑运算符就三个
                    			
                        		and 与
                            			用于连接多个条件并且多个条件必须都成立才可以
                                 or  或
                                    	 用于连接多个条件并且多个条件只要有一个成立即可
                                 not 非
                                		 取反
                                    
                                 print(2 > 1 and 1 != 1 and True and 3 > 2)
                                 print(2 >1 or 1 != 1 or True or 3 > 2)
                                 print(not  True)
                                """
                                三个连接符号如果混合使用  是有优先级的
                                """
                                但是我们在编写的时候应该人为的规定好优先级


成员运算

                      # 判断某个个体在不在某个群体内
                      关键字:in(在)  not in(不在)
                          name_list = ['jason', 'kevin', 'tony', 'jackson']
                          # name = input('请输入您要查询的学生姓名>>>:')
                          # print(name in name_list)
                          # print(name not in name_list)

                          # print('j' in 'jason j j j n n')
                          print('jason' in {'username': 'jason', 'age': 18})  # False
                          	字典默认暴露给外界的只有K
                          print('username' in {'username': 'jason', 'age': 18})  # True

身份运算

                        # 判断两个数据 值和内存地址是否相等
                        符号: ==(只判断值)  is(判断内存地址)
                            s1 = ['jason', 'kevin', 'tony', 'jackson']
                            s2 = ['jason', 'kevin', 'tony', 'jackson']
                            print(s1 == s2)  # True
                            # print(id(s1), id(s2))
                            print(s1 is s2)  # False
                            """
                            值相等内存地址不一定相等
                            内存地址相等值一定相等
                            """
posted @ 2021-11-03 19:02  风花雪月*  阅读(40)  评论(0编辑  收藏  举报