python学习笔记

今日内容概要

  • 基本数据类型
  • 与用户交互
  • 格式化输出
  • 诸多运算符
  • 流程控制简介

今日内容详细

数据类型之列表(list)

1.本质
能够存储多个数据,并且能够方便的获取整体或者局部
2.基本使用

  l1 = [1,2,3,4,5]

3.语言描述
用方括号([ ])来表示列表,并用逗号( , )来分割其中的元素,你可以将任何东西加入列表,其中元素之间可以没有任何关系
4.索引取值

    name_list = ['陈志燕', '沈月', '李五' ]
   '''索引取值:在IT领域数字的起始位置通常是从0开始,现实生活中是从1开始'''
    print(name_list)
    print(name_list[1])  # 沈月
    print(name_list[0])  # 陈志燕
    print(name_list[100])  # 索引超出范围直接报错    
   l1 = [11, 22, [111, 222, 333, [123, 321, 666], 444]]
   '''遇到复杂构造的数据,先明确整体有几个数据值,然后再一步步拆分'''
    1.先获取666所在的小列表
    print(l1[2])  # [111, 222, 333, [123, 321, 666], 444]
    l2 = l1[2]  # 将索引取值获取到的数据绑定给l2
    print(l2)  # 之后就可以通过l2获取列表
    2.再获取666所在的小小列表
    print(l2[3])  # [123, 321, 666]
    l3 = l2[3]  # 将索引取值获取到的数据绑定给l3
    3.变成了最简单的索引取值情况
    print(l3[2])
    '''熟练之后,上述可以简写成一步完成'''
    print(l1[2][3][2])

数据类型之字典(dict)

1.本质
能够储存多个数据,并且能够方便的获取整体或者局部,并且对于数据具有解释
2.基本使用

   info_dict = {'姓名': 'jason', '年龄': '18', '爱好':'read'}

3.语言描述
大括号括起来,内部可以存放多个数据,数据的组织形式是k:v键值对
k是对v的描述性性质的信息,一般是字符串
v是真实的数据值,可以是任意数据类型
4.按K取值

   info_dict = {'姓名': 'jason', '年龄': '18', '爱好': 'read'}
   '''字典取值:字典无法使用索引取值(因为字典是无序的) 可以使用按K取值'''
    print(info_dict['姓名'])  # jason
    print(info_dict['年龄'])  # 18
    print(info_dict['爱好'])  # 爱好
    print(info_dict['家产'])  # K不存在直接报错
5.取值练习题
   '''单纯为了练习取值操作而已'''
    data = {
    'name': 'jason',
         'others': [111222, {
            'a1': '嘿嘿',
            'a2': '哈哈',
            'a3': [123, {'name': 'jason1', 'age': 18}]}]}
    1.先获取大列表
    l1 = data['others']
    # print(l1)  # [111, 222, {'a1': '嘿嘿', 'a2': '哈哈', 'a3': [123, {'name': 'jason1', 'age': 18}]}]
    2.获取大列表中的字典
    d1 = l1[2]
    # print(d1)  # {'a1': '嘿嘿', 'a2': '哈哈', 'a3': [123, {'name': 'jason1', 'age': 18}]}
    3.获取字典的值
    l2 = d1['a3']
    # print(l2)  # [123, {'name': 'jason1', 'age': 18}]
    4.获取列表的数据
    l3 = l2[1]
    # print(l3)  # {'name': 'jason1', 'age': 18}
    5.按k取值
    # print(l3['age'])
    """上述可以简写成一步"""
    print(data['others'][2]['a3'][1]['age'])     

基本数据类型之布尔值(bool)

1.本质
用来表示事物是否可行,是否正确,是否合理,
总共就两个值
2.基本使用

  is_right = True  # 真 可以 正确
  is_delete = False  # 假 不可以 错误

3.详细介绍
布尔值看似很简单,很少见,其实在程序中是最多的,也是使用频率最高的
存储布尔值的名字一般使用is开头 # 君子协定
4.布尔值类型转换
程序中所有的数据类型都可以转成布尔值
布尔值为False的数据有
eg:0 None 空字符串 空列表 空字典 ...
除上述之外所有的数据对于的布尔值都是True
5.所有的编程语言都有布尔值 只不过关键字和值可能有变化(了解)
typeof true
'boolean' # js中就不一样

基本数据类型之元组(tuple)

1.本质
能够储存多个数据,并且能够方便的获取整体或者局部,与列表的区别在于元组内数据值不能"直接修改"而列表可以,所以元组有一个小外号:不可变的列表。
2.作用
一般用于储存一些只能看不能改的数据
3.基本使用

  t1 = (111, 222, 333)

4.语言描述
小括号括起来,内存可以存放多个数据值,数据值与数据值之间逗号隔开,数据值可以是任意数据类型
5.与列表对比

  l1 = [11, 22, 33]
  t1 = (11, 22, 33)
  print(l1[0])
  print(t1[0])
  l1[0] = 'jason'  # 将列表索引0重新绑定数据值jason
  print(l1)  # ['jason', 22, 33]
  t1[0] = 'tony'  # 将元素索引0重新绑定数据值tony直接报错!!!
  print(t1)

基本数据类型之集合(set)

1.本质
集合只用于 去重 和 关系运算
去重:制动去除重复的数据
关系运算:判断两个集合之间数据的关系(共同好友 共同点赞)
2.基本使用

  s1 = {1, 2, 3, 4, 5}

3.定义空集合

  d1 = {}
  s1 = {}
  print(type(d1)) # dict
  print(type(s1)) # dict
  ss = set() # 必须使用关键字才能定义空集合
  print(type(ss))

与用户交互

1.输入
向计算机传递信息

input() # 获取用户输入
name = input('请输入您的用户名>>>:')
"""1.先获取用户输入的数据
   2.在赋值给左边的名字name
   3.之后就可以通过名字name反复地使用用户输入的数据
"""
print(name)
input获取到的用户输入都会转成字符串类型

2.输出
计算机向外界输出信息

print()  # 打印数据值
print(123)  # 括号内可以直接放数据值
name = 'jasen'
print(name)  # 括号内也可以放名字
print(123,321,323)  # 括号内也可以一次性打印多个值
print(name1,name2,name3,name4)
print(123,name,3333,name1)

换行符:\n \r \r\n
最早起的换行是 \r\n
后面简化成了 \n \r(不同的操作系统可能会有变化)
不同版本的解释器
python3.x print()
python2.x print

格式化输出

1.本质
如何格式化输出字符串呢,例如你好XX,你的额度是xx,其中xx的变量,我们无法预知,这个时候就需要格式化输出,和C语言一样,我们可以使用占位符%?,其中?代表不同的字符,例如%s代表字符串,%d代表十进制整数
2.基本使用

  1.%s代表字符串
  %s: 支持所有数据类型替换  (以后我们使用最多的就是%s)
  info1 = "亲爱的%s你好!你%s月的话费是%s,余额是%s"
  print(info1 % ('jason', 5, 100, 999999999999))
  print("亲爱的%s你好!你%s月的话费是%s,余额是%s" % ('tony', 5, 999, -100))
  2.%d代表十进制整数,只支持给数字占位
  info2 = "亲爱的%d你好!你%d月的话费是%d,余额是%d"
  print(info2 % (123, 5, 100999999999999))
  print("亲爱的%d你好!你%d月的话费是%d,余额是%d" % (123, 5, 999, -100))
  产生固定位数的数据(总共8位 不够则使用0填充)
  print('%08d' % 123)  # 00000123

基本运算符

1.算数运算符
加 +
减 -
乘 *
除 /
整除 //
取模 %
幂指数 **(次方)

# 变种情况
x = 10
x = x + 100  # x += 100
x = x - 10   # x -= 10
x = x * 10   # x *= 10
x = x / 10   # x /= 10

2.比较运算符
== 等于
!= 不等于

多种赋值符号

1.链式赋值
链式赋值是用一行语句将多个变量赋值为同一个值

# x = 10
# y = x
# z = y
x = y = z = 10

这种执行效果表示所有变量都指向同一个对象
2.交叉赋值
将两个变量互换赋值

m = 999
n = 100
让m绑定n绑定的数据值  让n帮忙m绑定的数据值
'''方式1:利用中间变量'''
tmp = m
m = n
n = tmp
print(m, n)
'''方式2:交叉赋值'''
m, n = n, m
print(m, n)

3.解压赋值
可迭代序列或者可迭代对象解压后赋值给多个变量
"""变量的数量必须和序列元素的数量一样多"""

name_list = ['jason', 'tony', 'kevin']
# 用三个不同的名字存储三个不同的人名
# name1 = name_list[0]
# name2 = name_list[1]
# name3 = name_list[2]
# name1, name2, name3 = name_list
变量个数多于序列元素个数报错  # a, b, c, d, e = name_list
变量个数少于元素个数报错  # a, b = name_list 
"""特殊情况 带解压的数据非常的多"""
l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99]
# a, b, *c, d = l1  # *在解压赋值的时候会自动将多余的数据值组织成列表赋值给*号后面的变量名
# print(a)  # 11
# print(b)  # 22
# print(c)  # [33, 44, 55, 66, 77, 88]
# print(d)  # 99
*c, a, b = l1
print(a)
print(b)
print(c)

今日作业

  • 获取用户信息并打印出下列格式
l1 = ['Name:xxx', 'Age:xxx', 'gender:xxx', 'Job:xxx']
print('------------ info of XXX -----------')
print(l1[0])
print(l1[1])
print(l1[2])
print(l1[3])
print('------------- end -----------------')

image

posted @   空白o  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示