Python语法、注释之数据类型

1.python语法之注释

python 复制代码
注释:相当于是对代码的一串解释信息

三种注释的方式
	方式1
    	单行注释	# 注释内容
       ps:shift + #
	方式2
    	多行注释   '''注释内容'''
       ps:回车键左边那个键 英文输入法下 连续按三下
	方式3
    	多行注释   """注释内容"""
       ps:回车键左边那个键 英文输入法下 shift + 连续按三下
  
pycharm中可以使用:
        ctrl+?快速注释和解开注释
        代码缩进使用tab
        代码回退使用shift+tab

2.PEP8规范

python 复制代码
"""注意
pycharm中如果出现非红色的波浪线 表明你写的代码有可能不是很规范不影响执行


PEP8该规范定义了一些较为标准的编写格式 可以不遵守但是显得很low!!!

我们在学习的时候不需要死记硬背 可以利用pycharm自动规范
	反向推到规范守则
    	ps: ctrl + alt + L
        
课下也可以自行百度查阅规范详细内容

3.变量与常量

python 复制代码
1.变量
	用来记录事物变化(可能会经常改变)的状态
2.常量
	用来记录事物不变(可能不经常改变)的状态
        
ps:变量和常量其实在使用的时候是一样的 所以后面我不做特殊说明的情况下统一称之为变量
 
3.基本使用
	大街上看到了老师立刻脑袋瓜子里面就会有一些信息
    	姓名是小王 性别是男性 职位是程序员 ......
	对于到程序中需要做以下改变
               姓名 = 小王
               性别 = 男性
               职位 = 程序员
	最为正规的写法
                name = '小王'
                age = 18
                job = '讲师'
4.语法结构
	name = '小王'
	'''
	变量名/常量名 赋值符号 数据值
	'''
	使用的时候通过前面的变量名就可以反复查询后面的数据值

4.变量与常量的本质

python 复制代码
name = '小王'

遇到赋值符号 先看符号的右侧 再看符号的左侧

1.在内存空间中申请一块内存空间 存储数据值为'小王'
2.给该内存空间绑定一个名字 name
3.通过name就可以访问到内存空间中存储的数据值小王
ps:如果内存中数据值没有绑定名字 那么意味着我们使用不到 也就是垃圾数据!!!


1.一个数据值可以同时被多个名字绑定
	如果赋值符号的右侧也是一个名字 
	那么意思是让左边的名字绑向右边名字绑定的数据值
		a = 123
		b = a
		c = b

2.同一个名字同一时间只能绑定一个数据值
		x = 10
		x = x + 10
		print(x)  # 结果:20
                
	ps:如果右侧是名字和数据值的组合 那么需要先做相应的运算 得出单纯的数据值之后再做绑定

5.变量的命名规范

python 复制代码
1.变量里面最多只能出现数字、字母、下划线
2.数字不能开头
3.变量不能与python关键字冲突
4.变量尽量做到见名知意
	真的没办法的时候 才可以临时用一下汉语拼音(尽量不要这样)
ps:前期学习阶段 可以简单的用用字母(仅限于教学)

6.变量的命名风格

python 复制代码
1.下划线  # 单词之间下划线隔开	python推荐使用
	user_name_from_others = 'sam'
        
2.驼峰体  # 单词之间首字母大写	javaScript推荐使用
	2.1.小驼峰
    	userNameFromOthers = 'jason'
	3.1.大驼峰
    	UserNameFromOthers = 'jason'
        
ps:有些程序员洁癖很严重 用了一个风格就不准出现其他风格

7.常量

python 复制代码
"""君子协定"""
# 常量的其他特性与变量一致!!!

1.在python中没有真正意义上的常量 所有的名字都是变量
	将纯大写的变量名看成是常量
    	HOST = '127.0.0.1'
		print(HOST)  # 127.0.0.1
		HOST = '192.168.1.112'
		print(HOST)  # 192.168.1.112	
  
2.在其他编程语言中存在真正意义上的常量 绑定了关系就不能再修改
	浏览器其实是一个编写js代码的工具
    	let name = 'jason'
          name = 'tony'  变量可以修改
    	const pi = 3.14
		pi = 666  报错 常量不能修改了!!!

8.数据类型的概念

python 复制代码
如何理解数据类型
	eg:
            日常生活中 
                        表示姓名用文本 表示年龄用整数 表示体重用小数
                        视频文件 文本文件 表格文件 pdf文件 程序文件
            代码程序中
    		也需要有不同的数据类型来表示不同的数据状态
储备知识
	如何查看数据的数据类型
    	type()
        
ps:数据类型的学习就相当于在学习英语的字母、单词
数据类型先全部混个眼熟 知道谁属于哪个类型以及如何定义出来即可!!!

9.数据类型------整型

python 复制代码
其实就是整数!!!
	主要应用场景:年龄 学生人数 年份
	基本使用:
		age = 18
		stu_num = 38
		year = 2022
	表达关键字:int
	核心语法:直接写整数即可

10.数据类型------浮点型

python 复制代码
	其实就是小数!!!
	主要应用场景:体重 身高 薪资待遇
	基本使用:
       weight = 76.8
       height = 1.83
       salary = 3.1
	表达关键字:float
	核心语法:直接写小数即可

11.数据类型------字符串/字符型

pyhon 复制代码
	其实就是文本信息!!!
	主要应用场景:描述性性质的信息  姓名 住址 爱好
	基本使用:
        name = 'sam'
        addr = "上海"
        hobby = '''读书\写字'''
        info = """你们好呀 准备好起飞了吗"""
	表达关键字:str
	核心语法:引号引起来的部分
	疑问1:为什么定义字符串需要有这么多种方式???,比如一下语句:
		"老师说:"只要下定决心好好学 你肯定不会失望""  # 运行报错
                
  原因:我们在定义字符串的内部可能也需要使用引号 如果冲突了会报错
        所以定义字符串给出了多种方式 避免冲突
        核心:明确定义字符串的符合和内部文本的符号(不冲突即可)
        疑问:三引号前面学习的是注释 为什么又变成了字符串
		  当三引号左边没有赋值符号和变量名的时候 意思是注释
		  当三引号左边有赋值符号和变量名的时候 意思是字符串

12.数据类型------列表(list)

python 复制代码
1.本质
	能够存储多个数据 并且能够方便的获取整体或者局部
2.基本使用
	l1 = [1, 2, 3, 4, 5]
3.语言描述
	中括号括起来,里面可以存放多个数据值,数据值与数据值之间逗号隔开
	数据值可以是任意数据类型
    	l2 = [11, 11.11, 'sam', [11, 22, 33]]
4.索引取值
	 # name_list = ['张三', '王二', '李五']
    '''索引取值:在IT领域数字的起始位置通常是从0开始 现实生活中是从1开始'''
     print(name_list)     # 张三, 王二, 李五
     print(name_list[1])  # 王二
     print(name_list[0])  # 张三
     print(name_list[100])  # 索引超出范围直接报错
    
练习题:在以下列表中获取666
    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])  # 666
    
    '''熟练之后 上述可以简写成一步完成'''
     print(l1[2][3][2]) # 666

13.数据类型------字典(dict)

python 复制代码
1.本质
	能够存储多个数据 并且能够方便的获取整体或者局部 并且数据具有对于解释
2.基本使用
	info_dict = {'姓名': 'sam', '年龄': 18, '爱好': 'read'}
3.语言描述
	大括号括起来 里面可以存放多个数据 数据的组织形式是K(key):V(value)键值对
		K是对V的描述性性质的信息 一般是字符串
		V是真实的数据值 可以是任意数据类型
4.按K取值
	 info_dict = {'姓名': 'sam', '年龄': 18, '爱好': 'read'}
    '''字典取值:字典无法使用索引取值(因为字典是无序的) 可以使用按K取值'''
    print(info_dict['姓名'])  # sam
    print(info_dict['年龄'])  # 18
    print(info_dict['家产'])  # K不存在直接报错
    
5.取值练习题,获取值18
data = {'name':'sam','others':[111,222,{'a1':'嘿嘿','a2':'哈哈','a3':[123,{'name':'sam1','age':'18'}]}]}

	'''单纯为了练习取值操作而已'''
        '''按值分开'''
	 data = {
    'name': 'sam',
    'others': [
        111,
        222,{
            'a1': '嘿嘿',
            'a2': '哈哈',
            'a3': [
                123, {
                    'name': 'sam1',
                    'age': 18
                }]}]}
    # 1.先获取大列表
    l1 = data['others']
     print(l1)  # [111, 222, {'a1': '嘿嘿', 'a2': '哈哈', 'a3': [123, {'name': 'sam1', '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']) # 18

14.数据类型------布尔值(bool)

python 复制代码
1.本质
	用来表示事物是否可行 是否正确 是否合理
	总共就两个值
2.基本使用
	is_right = True  # 真 可以 正确
	is_delete = False  # 假 不可以 错误
3.详细介绍
	布尔值看似很简单 很少见 其实在程序中是最多的 也是使用频率最高的
	存储布尔值的名字一般使用is开头  # 君子协定
4.布尔值类型转换
	程序中所有的数据类型都可以转成布尔值
 	布尔值为False的数据有
    	0 None 空字符串 空列表 空字典 ...
    	除上述之外所有的数据对于的布尔值都是True
5.所有的编程语言都有布尔值 只不过关键字和值可能有变化(了解)
javascript:
    typeof true
    'boolean'  # js中就不一样

15.数据类型------元组(tuple)

python 复制代码
1.本质
    能够存储多个数据 并且能够方便的获取整体或者局部
    与列表的区别在于元组内数据值不能"直接修改" 而列表可以
    所以元组有一个小外号>>>:不可变的列表
2.作用
	一般用于存储一些只能看不能改的数据
3.基本使用
	t1 = (111, 222, 333)
4.语言描述
	小括号括起来 里面可以存放多个数据值 数据值与数据值之间逗号隔开
	数据值可以是任意数据类型
5.与列表对比	
     l1 = [11, 22, 33]
     t1 = (11, 22, 33)
     print(l1[0]) # 11
     print(t1[0]) # 11
     l1[0] = 'jason'  # 将列表索引0重新绑定数据值jason
     print(l1)  # ['jason', 22, 33]
    t1[0] = 'tony'  # 将元组索引0重新绑定数据值tony  直接报错!!!
    print(t1)

16.数据类型------集合(set)

python 复制代码
1.本质
    集合只用于去重和关系运算
    去重:自动去除重复的数据
    关系运算:判断两个集合之间数据的关系(共同好友 共同点赞)
2.基本使用
	s1 = {1, 2, 3, 4, 5}
3.定义空集合
    d1 = {}
    s1 = {}
    print(type(d1))  # dict
    print(type(s1))  # dict
    ss = set()  # 必须使用关键字才能定义空集合
    print(type(ss))
相关推荐
沐雨橙风ιε9 分钟前
Spring Boot整合Apache Shiro权限认证框架(应用篇)
java·spring boot·后端·apache shiro
考虑考虑12 分钟前
fastjson调用is方法开头注意
java·后端·java ee
小蒜学长32 分钟前
springboot基于javaweb的小零食销售系统的设计与实现(代码+数据库+LW)
java·开发语言·数据库·spring boot·后端
brzhang41 分钟前
为什么 OpenAI 不让 LLM 生成 UI?深度解析 OpenAI Apps SDK 背后的新一代交互范式
前端·后端·架构
EnCi Zheng1 小时前
JPA 连接 PostgreSQL 数据库完全指南
java·数据库·spring boot·后端·postgresql
brzhang1 小时前
OpenAI Apps SDK ,一个好的 App,不是让用户知道它该怎么用,而是让用户自然地知道自己在做什么。
前端·后端·架构
小熊出擊1 小时前
【pytest】finalizer 执行顺序:FILO 原则
python·测试工具·单元测试·pytest
LucianaiB1 小时前
从玩具到工业:基于 CodeBuddy code CLI 构建电力变压器绕组短路智能诊断系统
后端
tao3556672 小时前
【Python刷力扣hot100】49. Group Anagrams
开发语言·python·leetcode
韩立学长2 小时前
【开题答辩实录分享】以《基于Python的新能源汽车管理系统的设计与实现》为例进行答辩实录分享
python·新能源汽车