Python知识三,重点

变量三要素:

1.value  # 值
2.id  # 一段数字相当于内存地址的唯一标识
3.type #查看值的数据类型

字符串(数据类型str)

作用:主要用于记录描述性性质的数据 eg:姓名 地址 邮箱
定义:
	方式一:  # 单引号
		name = 'jason'
    方式二:  # 双引号
    方式三:  # 三个单引号
    方式四:  # 三个双引号
ps:引号引起来的部分

#为啥定义字符串需要这么多方式
	目的是为了防止字符串内部还需要引号,避免冲突:
res ='	jason老师说:'年轻不是挥霍的资本 更不要高估自己'	'
    
res ='	jason老师说:"年轻不是挥霍的资本 更不要高估自己”	'
    
"""  
+ 字符串的拼接
* 字符串的重复
"""

列表(数据类型list[ ])

作用:能够存储多个数据
    name_list = ['jason', 'tony', 'kevin', 'tom']
""""中括号括起来 内部可以存放多个元素 可以是任意元素 包括列表套列表"""[11, 1, 1, 'jason', [11, 1, 2] ]

	# 索引取值(从0开始的连续数字)
	print(names_list[1])  # tony
	print(names_list[3])  # tom

#列表套列表(索引取值)
name_list = ['jason', 'tony', 'kevin', 'tom']
l1 = [11, 1.1, 'jason', [11, 22, 33, [123, 321, 'jasonNB', 555]]]
l2 = l1[3]
l3 = l2[3]
l4 = l3[2]
print(l4)

#整合!!!!!!!!!!!!!!
print(l1[3][3][2])

字典(数据类型dict{ })

作用:相对于list能用更加精准的存储数据,   # 且无法使用索引取值(list的取值方法)
定义:大括号括起来 内存可以存放多个元素 元素与元素之间逗号隔开 元素是k:v键值对的形式
        K是对V的描述性性质的信息(一般情况下都是字符串)
     	V是真正的数据 相当于变量的值 可以是任意数据类型
    d = {'k':v}# 字典取值需要借助于K
        
    d = {
    	'username': 'jason',
    	'age': 18,
    	'hobby': '学习, 
    	'salary': 13
		}
    
	print(d['username'])  # jason
	print(d['salary'])  # jason

# 字典列表复合
d = {'addr': ['安徽', '芜湖', {'国家': '中国', '编号': [11, 22, '中国最牛逼']}], 'username': 'jason'}
l1 = (d['addr'])
d1 = l1[2]
l2 = (d1['编号'])
d2 = l2[2]
print(d2)

d = {'addr': ['安徽', '芜湖', {'国家': '中国', '编号': [11, 22, '中国最牛逼']}], 'username': 'jason'}

    # 整合!!!!!!!!!!!!!!!!!
    print(d['addr'][2]['编号'][2])

布尔值(数据类型bool)

作用:用于判断事物的对错 是否可行等"""底层所有的判断语句(如循环语句判断,if语句判断)都是基于bool"""
定义:bool只有两种抓状态
    True 对的 正确的 可行的
    False 错的 不可行的

# 补充
针对布尔值的变量名一般采用is开头
	is_right = True
    is_delete = False
    is_alive = True
#扩展
	现实中互联网公司的账号注销,实际上并没有删除数据,而是修改了数据的某个唯一标识 然后通过代码过滤掉
#记忆
	bool值为False:
        0,None,'',[],{}...

元组(数据类型tuple)

作用:与列表几乎一致 内部可以存放多个元素
定义:用小括号括起来 内部可以存放多个元素 元素和元素之间用逗号隔开 元素不支持修改
    # 例如:
    l1 = [1, 22, 33, 44]  #列表
    l1[0] = '嘿嘿'
    print(l1)
    t1 = (1, 22, 33, 44)  #元组
    t1[0] = '呵呵'
    print(t1)
    
    run得到的结果是
    ['嘿嘿', 22, 33, 44]
    False

集合(数据类型set)

作用:去重和关系运算
定义:用大括号括起来 内部可以存放多个元素 元素和元素之间用逗号隔开 
    s = {11, 22, 22, 44}
print(s)
	run:
        {11, 44, 22}

与用户交互

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

换行符 \n

print'a\nb'表示a换行b

print(123, end='')  # end=''控制本行输出与下个输出不换行
print(123, end='\n')
str = 'slll\nsdlfaga\naflsg\n'  '\n'  #end='\n'表示换行
print(str)
print('1\n2\n3\n4')

run:
123123
slll
sdlfaga
aflsg

1
2
3
4

格式化输出

将字符串中某些内容替换掉再输出就是格式化输出
"""
1.先使用占位符占位  %s
2.再使用%按照位置一一替换
"""

res = '亲爱的%s你好!你%s月的话费是%s,余额是%s'
print(res % ('jason', 11, 100, 99999999999))
print(res % ('tony', 11, 200, -100))
print(res % ('kevin', 11, 500, -999))

run:
亲爱的jason你好!你11月的话费是100,余额是99999999999
亲爱的tony你好!你11月的话费是200,余额是-100
亲爱的kevin你好!你11月的话费是500,余额是-999

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

run:  #'%08d'表示占用8个数字位
    00000123
	00000001
	00000666
	6666666666666  #超过位数无效

基本运算符

# 算数运算符
	// % **
#比较运算符
	== 判断值是否相等(无法判断地址)
	!= 不等于
#赋值符号
	=
#增量赋值
	+=
#链式赋值
	x = y = z = 8
#交叉赋值(笔试题)
	n = a
    m = b  #让m = a,n = b.
    
    z = b
    m = n
    n = z
    "方式一"
    print(m, n)
  
    "方法二"
    m, n = n, m
    print(m, n)

# 解压赋值(经常使用)
name_list = ['jason', 'kevin', 'tony', 'jack']
name1 = name_list[0]
print(name1)
name2 = name_list[1]
print(name2)
name3 = name_list[2]
print(name3)
name4 = name_list[3]
print(name4)

run:
jason
kevin
tony
jack

    # 上式中:
    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
    '''
    *可以接受多余的元素 组织成列表赋值给后面的变量名
    下划线单独作为变量名 通常表达的意思指向的值没有啥用
    '''

逻辑运算符

and 与
	用于连接多个条件且多个条件必须都成立才可以
or	或
	用于连接多个条件,但只要有一个成立即可
not 非
	取反

print(2 > 1 and 1 != 1 and True and 3 > 2)
	run:False
print(2 > 1 or 1 != 1 or True or 3 > 2)
	run:True
print(not True)
	run:False
"""and, or, not 有优先级之分"""
#我们在编写的时候应该利用括号()人为的规定优先级
posted @ 2021-11-03 17:55  弑悟  阅读(7)  评论(0)    收藏  举报