Python语法入门之基本数据类型(字符串、列表、字典、布尔值、元组、集合、)

 

 

L数据类型之字符串str

作用:主要用于记录表描述性性质的数据  eg:姓名 地址 邮箱
定义:
方式1:#单引号 name='tom'
   方式2:#双引号 name="tom"
   方式3:#三个单引号(左侧出现了赋值符号和变量名为字符串 否则为注 释) name = '''tom'''
   方式4:#三个双引号(左侧出现了赋值符号和变量名为字符串 否则为注 释) name = """tom"""
   
   #为啥定义字符串需要这么多种方式?
   目的是为了防止字符串文本内还需要用到引号  为了避免冲突
   

 

 

数据类型之列表list

作用:能够存储多个数据并且可以方便取出任意个数
特征:中括号框起来 内部可以存放多个元素  元素与元素之间逗号间隔开 元素可以是任意数据类型
列:l1 = [15, 8.8, 'tom', [11, 22, 33]]

#如何从列表取值?
#用索引取值(从0开始的连续数字)
print(l1[2] #tom
print(l1[3][2])   #33

 

 


#练习
l1 = [11, 1.1, 'jason', [11, 22, 33, [123, 321, 'jasonNB', 555]]]
# 索引取值(从0开始的连续数字)
# print(names_list[1]) # tony
# print(names_list[3]) # tom
# 1.jasonNB在列表的第几个元素
l2 = l1[3]  # [11, 22, 33, [123, 321, 'jasonNB', 555]]
# 2.jasonNB在列表l2的第几个元素
l3 = l2[3]  # [123, 321, 'jasonNB', 555]
# 3.jasonNB在列表l3的第几个元素
l4 = l3[2]  # jasonNB
# 整合
print(l1[3][3][2])  # jasonNB

 

 

数据类型之字典dict

作用:能够更加精准的存储数据
定义:花括号框起来 内部可以存放多个元素 元素与元素之间逗号隔开
元素是k:v键值对的形式
   k是对v的描述性性质的信息(一般都是字符串)
   v是数据  相当于变量的值 可以是任意数据的类型
   
dict = {
    'name':'tom'
    'age' :'18'
    'hobby':'学习'
}  
#字典无法用索引取值
#字典取值需要借助于k
# 列如: print(dict['name']) #ton

 

 


#练习
info = {
   'username': 'jason',
   'addr': ['安徽', '芜湖', {'国家': '中国', '编号': [11, 22, '中国最牛逼']}]
}
# 1.中国最牛逼在大字典的哪个位置
l1 = info['addr']  # ['安徽', '芜湖', {'国家': '中国', '编号': [11, 22, '中国最牛逼']}]
# 2.中国最牛逼在列表的哪个位置
d1 = l1[2]  # {'国家': '中国', '编号': [11, 22, '中国最牛逼']}
# 3.中国最牛逼在小字典的哪个位置
l2 = d1['编号']  # [11, 22, '中国最牛逼']
# 4.中国最牛逼在小列表的哪个位置
res = l2[2]  # '中国最牛逼'
# 整合
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,33,44)

 

数据类型之集合set

作用:去重和关系运算
定义:用大括号框起来 里面可以存放多个元素 元素与元素之间逗号隔开
元素不是k:v键值对
s = {77,88,99,11}

 

 

用户交互

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

 

 

格式化输出

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

res = '亲爱的%s你好!你%s月的话费是%s,余额是%s'

print(res % ('jason', 11, 100, 99999999999))

print(res % ('tony', 11, 200, -100))

print(res % ('kevin', 11, 500, -999))"""

1.先使用占位符占位 %s

2.再使用%按照位置一一替换"""

# %d只能给数字占位(了解)

print('%08d' % 123)

print('%08d' % 1)

print('%08d' % 666)

print('%08d' % 6666666666666)

 

 

运算符

# 算术运算符
// % **
# 比较运算符
==  判断值是否相等
   !=  值不等于
# 赋值运算符
=
   
# 增量赋值(偷懒)
n = 666
   n = n + 1  # n += 1  
   n = n - 1  # n -= 1
   n = n * 1  # n *= 1
   n = n / 1  # n /= 1
   
# 链式赋值(偷懒)
   # x = 666
   # y = x
   # z = y
   x = y = z = 666
   
# 交叉赋值(笔试题)
   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)
"""三个连接符号如果混合使用 是有优先级的"""
但是我们在编写的时候应该人为的规定好优先级

 

posted @ 2021-11-03 17:05  超级苟哥  阅读(367)  评论(0)    收藏  举报