時光很短暫

导航

 

数据类型

字符串(重要)

作用:一般记录描述性性质的数据
方式1: name
= 'ly' 方式2: name = "ly" 方式3: name = '''ly'''(如何三引号左边具有赋值符号和变量名,它就是字符串) 方式4: name = """ly"""(如何三引号左边具有赋值符号和变量名,它就是字符串) # 只要是写在引号里面的数据都是字符串 为什么使用这么多定义的方式? s = '洋哥说:'好好学习才能拿高薪'' #这个是错误的 s = '洋哥说:"好好学习才能拿高薪"' #正确的 s1 = "洋哥说:'好好学习才能拿高薪'" #正确的 print(s)
洋哥说:"好好学习才能拿高薪"
print(s1) 
洋哥说:'好好学习才能拿高薪'
# 字符串拼接 
name = 'ly'
age
= '18'
print(name + age)
# 拼接字符串,拼接的数据必须都是字符串

print(1+1) # 2

print(name * 10) # lylylylylylylylylyly

列表list

作用:可以存放多个数据,并且方便取出
定义:使用中括号括起来,里面可以存放多个数据,数据与数据之间用逗号隔开,数据可以是任意数据类型
    # 定义列表
    name_list = ['ly', 'jason', 'tom', 'qq', 'kevin']
    print(type(name_list))
    print(name_list)

    # 列表取值需要使用索引取值(索引取值从0开始)
    print(name_list[1])#jason
    print(name_list[3])#qq
    print(name_list[0])#ly

# 考题
l = ['ly', 18, 'info', ['music', 'read', 'play', ['addr', ['xj', '洋哥最牛逼']]]]
# 问洋哥最牛逼在列表的第几个位置
l1 = l[3]  # ['music', 'read', 'play', ['addr', ['xj', '洋哥最牛逼']]]

# 问洋哥最牛逼在列表的第几个位置
l2 = l1[3]  # ['addr', ['xj', '洋哥最牛逼']]

# 问洋哥最牛逼在列表的第几个位置
l3 = l2[1]  # ['xj', '洋哥最牛逼']

l4 = l3[1]
print(l4)

# 以上四步可以简化为一步
print(l[3][3][1][1])

元组tuple

作用:可以存放多个数据,并且方便取出
定义:小括号括起来,里面可以存放多个元素,元素与元素之间使用逗号隔开,
    '''元组就是不可变的列表,其他都和列表一样'''
    t = (1, 2, 3, 4)  # 取值也是从索引0开始

字典dict(重要)

# 就可以精准的表示数据的含义
定义:字典就是使用大括号括起来,里面可以存放多个数据,数据与数据之间使用逗号隔开,
     数据格式是K:V键值对的形式 (key:value)
     k:是描述性信息,是对value的解释
     v:是真正的数据,相当于变量值
     # 字典里面的数据类型可以是任意数据类型
     name = 'ly'
    d = {'name': 'ly', 'age': 18, 'gender': 'male'}
# 取值
# print(d[0])  # 字典不支持索引取值

# 字典取值需要借助于K, 
print(d['name'])
print(d['age'])
print(d['gender'])

# 考题:
d1 = {
    'name': 'ly',
    'addr': ['中国', '上海', {'hobby': ['read', 'music', 'tea', '洋哥最帅']}]
}
# 取值 洋哥最帅
d2 = d1['addr']  # ['中国', '上海', {'hobby': ['read', 'music', 'tea', '洋哥最帅']}]
# 取值 洋哥最帅
d3 = d2[2]   # {'hobby': ['read', 'music', 'tea', '洋哥最帅']}

# 取值 洋哥最帅
d4 = d3['hobby']  # ['read', 'music', 'tea', '洋哥最帅']

# 取值 洋哥最帅
d5 = d4[3]
print(d5)

# 把以上四步简化为一步
print(d1['addr'][2]['hobby'][3])

布尔

作用:用来记录真假两种状态
定义:
     True: 表示 真,正确,成立    true
     False:表示 假, 不正确,不成立  false
    
# 扩展
    在布尔值的变量中,我们一般会使用is开头
    is_ok = True
    is_success = False
    is_delete = True
    is_alive = True
    
# 记忆:
    在python中,所有的数据类型都可以转为布尔值
     什么是真?什么是假?
        
     掌握什么是假就行,除此之外,都是真
     '''
         值为False的有哪些?
             0, None,'', {}, [], ()...
        其余情况都为真
     '''

集合

作用:用于去重,集合运算
定义:集合是用大括号括起来,里面可以存放多个元素,元素与元素之间使用逗号隔开,但是,数据形式不是K:V键值对
    
    s = {1, 2, 3, 4}
print(s)

dict1 = {}  # <class 'dict'> 空字典
# 怎么定义一个空集合
s1 = set()  # set
print(type(dict1))
print(type(s1))

与用户的交互

1. 输入
    s = input('请输入你要取款的金额:')
    '''input接受的数据会赋值给变量'''

    # input接收的数据类型全都是字符串
    print(s, type(s))
2. 输出
    print('hello world')
    # 输出
    # print('hello', 'world', 111, 222)

    # print(123, end='$')
    # print(345)

    # 换行符
    print('哈哈哈哈哈哈\n423\n423\n4234')

格式化输出

# 什么是格式化输出
把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出。

s = '亲爱的%s你好!你%s月的话费是%s,余额是%s'
# print(s % ('ly', 12, 1000, 9999999, 10))  # 多一个不行
print(s % ('ly', 12, 1000, 9999 ))  # 少一个不行
print(s % ('ly1', 10, 2000, 80000 ))  # 少一个不行
s = '亲爱的%s你好!你%s月的话费是%s,余额是%s' % ('ly1', 10, 2000, 80000 )

# 字符串中只有一个%s的时候会怎么样?
s1 = 'hello%s'
# 如果只有一个占位符, 那么%后面可以不加括号
print(s1 % 'world')

# %s => 占位符, 可以为所有的数据类型占位置

# %d => 只能给数字类型占位

s2 = 'my name is %s, my age is %08d'
print(s2 % ('ly', 111))    #00000111
print(s2 % ('ly', 2))      #00000002
print(s2 % ('ly', 666666)) #00666666
print(s2 % ('ly', 9999999999999)) #9999999999999

基本运算符

1. 算术运算符
+
-
*
/

a = 13
# print(a + 1)
# print(a - 1)
# print(a * 1)
# print(a / 1)

print(a // 4)  # 只要整数部分3
print(a % 4)  # 只要余数1
print(3 ** 4)  #81

2. 比较运算符
== 
!=
>
>=
<
<=

3. 增量赋值
x += 1  # x = x + 100
x -= 1
x *= 1
x /= 1
print(x)
4. 链式赋值
x = 10
y = x
z = y
print(x, y,z )

x = y = z = 10
print(x, y,z )

5. 交叉赋值

面试题: 如何交换两个变量?
1. 借助于第三个变量
tmp = m
m = n
n = tmp
print(m, n )


2. 解压赋值(画图)
m, n = n, m
print(m, n)

x, y, z = 1, 2, 3
print(x)
print(y)
print(z)

6. 解压赋值
name_list = ['ly', 'tom', 'jason', 'kevin', 'kevin', 'kevin', 'kevin', 'kevin']

# 多余的元素都赋值给了星号后面的变量,如果想取,通过星号后面的变量取值就行
name1, *x, name5 = name_list
print(name1)  #'ly'
print(x) #'tom', 'jason', 'kevin', 'kevin', 'kevin', 'kevin'
print(x[0])   #'tom'
print(name5)  #'kevin'

 

posted on 2021-12-24 15:07  時光很短暫  阅读(46)  评论(0)    收藏  举报