Python语法
文章目录
1.数据类型
# 什么是数据类型
在现实生活中存储数据的方式和表现形式有很多
文本文件 表格文件 视频文件 音频文件 图片文件...
在IT界里数据的存储方式和表现形式也是千变万化的
1.1数据类型之整形int
# 大白话理解:整数
作用:记录人的年龄 班级人数 ...
定义:
age = 18 # 直接写整数就行
1.2数据类型之浮点型float
# 大白话理解:小数
作用:记录人的体重 薪资 身高
定义:
salary = 3.1 # 直接写小数就是浮点型
小总结
整形与浮点型可以统称为数字类型
主要用于数学运算和比较运算
1.3数据类型之字符串str
# 作用
用来记录人的名字,家庭住址,性别等描述性质的状态
# 定义
方式2 # 单引号
name = 'jank'
方式2 # 双引号
name = "jank"
方式3 # 三个单引号(左侧出现了赋值符号和变量名为字符串 否则为注释)
name = '''jank'''
方式4 # 三个双引号(左侧出现了赋值符号和变量名为字符串 否则为注释)
name = """jank"""
PS:引号引起来的部分
# 为啥定义字符串需要这么多中方式
res = 'jank老师说:'年轻不是挥霍的资本 更不要高估自己''
目的是为了防止字符串文本内还需要使用到引号 为了避免不冲突
res = 'jank老师说:"年轻不是挥霍的资本 更不要高估自己"'
用单引号、双引号、多引号,都可以定义字符串,本质上没有区别的,但是要注意用法
#1.需要考虑引号嵌套的配对问题
res = "My name is Tom , I'm 18 years old!" # 内层有单引号,外层就用爽引号
#2.多引号可以写多行字符串
res = '''
老和尚对小和尚说:“徒儿,烧点水吧。”
于是小和尚找几块石头拼了一个炉灶,用捡来的水壶装满了水,可是找了很久,也没有找到足够的柴火。
小和尚很沮丧地说:“师傅,柴火不够!你等一下,我去找施主们借一点吧!”
老和尚看着他说:“为什么不把壶里的水倒掉一些呢?”
'''
数字可以进行加减乘除运算,字符串,也可以,但只能进行“相加”和“相乘”运算
1.4数据类型之列表list
作用:能够存储多个数据并且可以方便的取出任意个数
特征:中括号括起来,内部可以存放多个元素,元素与元素之间逗号隔开,元素可以是任意一种数据类型
eg:
name_list = ['jason', 'tony', 'tom']
n1 = [11, 1.1 'jason',[11, 22, 33]]
打印出JasonNB
# 1.jasonNB在列表的第几个元素
m1 = [11, 1.1, 'jason', [11, 22, 33, [123, 321, 'jasonNB', 555]]]
# 2.jasonNB在列表m1的第几个元素
m2 = (m1[3]) # [11, 22, 33, [123, 321, 'jasonNB', 555]]
# 3.jasonNB在列表m2的第几个元素
m3 = (m2[3]) # [123, 321, 'jasonNB', 555]
# 4.jasonNB在列表m3的第几个元素
m4 = (m3[2]) # jasonNB
print(m4) # 第一种方法
print(m1[3][3][2]) # 第二种方法
print(type(m1)) # 数据类型
1.5数据类型之字典dict
如果我们需要一个变量记录多个值,但多个值是不同属性的,比如人的姓名、年龄、身高、用列表可以存,但列表是用所以对应值的,而索引不能明确地表示值的含义,这就用到字典类型,字典类型就是key:value类型的存储数据,其中key可以对value有描述性的功能
# 作用:能够精准的存储数据
定义:大括号括起来,内存可以存放多个元素,元素与元素之间逗号隔开,元素是key:value键值对的形式
key是对value的描述性性质的信息(一般情况下都是字符串)
value是正在的数据,相当于变量的值,可以是任意数据类型
# 两种写法
d = {'username': 'tom', 'age': '18', 'hobby': '学习'}
d = {
'username': 'tom',
'age': '18',
'hobby': '学习'
}
练习题
#小题目取出中国最伟大
info = {
'username': 'tom',
'addr': ['江苏', '苏州', {'国家': '中国', '编号': [11, 22, '中国最伟大']}]
}
# 1.中国最伟大在什么位置
d1 = info['addr'] # ['江苏', '苏州', {'国家': '中国', '编号': [11, 22, '中国最伟大']}]
# 2.中国最伟大在什么位置
d2 = d1[2] # {'国家': '中国', '编号': [11, 22, '中国最伟大']}
# 3.中国最伟大在什么位置
d3 = d2['编号'] # [11, 22, '中国最伟大']
# 4.中国最伟大在什么位置
d4 = d3[2] # 中国最伟大
print(d4)
print(info['addr'][2]['编号'][2])
1.6数据类型之布尔值bool
作用:用于判断事物的对错,是否可行等
定义:布尔值只有两种状态
True: 对的 正确的 可行的
False: 错的 不可行的
# 补充
针对布尔值的变量名一般采用is开头
is_right = True
is_delete = False
is_alive = True
# 扩展
现实生活中的数据存储与销户,其实很大概率上并没有删除数据,而是修改了数据的某个唯一的标识,然后通过代码筛选过滤掉
# 记忆
正在python中所有的数据类型都可以转成布尔值
布尔值为False的有:
0,None,'',[],{}...
其他情况一律为True
1.7数据类型之元祖tuple
作用:与列表几户一致,内部可以存放多个元素(可以看成是不可变的列表)
定义:用小括号括起来,内存存放多个元素,元素与元素之间逗号隔开,元素的类型有限制,元素不支持修改
t = (11, 22, 33, 44)
1.8数据类型之集合set
作用:去重和关系运算
定义:用大括号括起来,内存可以存放多个元素,元素与元素之间逗号隔开,元素不是key:value键值对
s = {11, 22, 33, 44}
2.与用户交互
# 输入
# 获取用户输入
username = input('请输入你的用户名>>>>:')
'''将input获取到的用户输入绑定给变量名username'''
print(username, type(username))
# input获取到的用户输入全部都会转成字符串
# 输出
print()
# 默认print功能有一个end参数,该参数的默认值为"\n"(代表换行),可以将end参数的值改成任意其它字符
1.括号可以使用逗号隔开多个元素一起打印
2.自带end参数,可以控制打印的排版
print(123,end='\n')
print(456,end='&')
print('qqq',end='@')
# 整体输出结果为:123456&qqq@
3.格式化输出
# 将字符串中某些内容替换掉之后再输出,就是格式化输出
res = '亲爱的%s你好!你%s月的话费是%s,余额是%s' # %('tony',12,103,11)
print(res % ('tony', 11, 100, 110))
print(res % ('tom', 11, 200, -110))
print(res % ('kevin', 11, 500, -999))
"""
1.先使用占位符占位 %s
%s可以给任意数据占位
2.再使用%按照位置一一替换
"""
# %d占位符(只能给数字做占位符)(了解即可)
res1 = '亲爱的%d你好!你%s月的话费是%s,余额是%d'
print(res1 % ('jason', 11, 99, 9999))
# %08d的意思是生成几位数,08就是8位数,在加后面123,位数不够用0填充
print('%08d' % 123)
print('%08d' % 12)
print('%08d' % 1)
print('%07d' % 1)
print('%08d' % 1111111111)
# 如果后面值超了,则为你写的结果,如果不够位数,则用0填充