day03

今日内容:

程序 = 数据 + 功能

  1. 变量
  2. 基本数据类型
  3. 基本运算符
  4. 输入输出
    1. 相当于人类的耳朵眼睛…
  5. 流程控制之if判断

一. 变量

变量就是存取内存的地址

一.原则: 先定义,后赋值

1.1 定义

age = 18

三大组成部分:
变量名:根据内存地址找值
赋值符号:将变量值的内存地址绑定给变量名
变量名:就是我们存储的数据,或者说记录的事物的状态

1.2 引用

变量的引用python会自己根据你的内存地址给你返回值的本身
print(age)

二.变量名
命名的大前提:变量名的命名该见明知意
age = 18
level = 18
count = 18
命名的规范:
1.是由字母,数字,下划线组成
2.不能以数字开头
3.不能使用python的关键字

level_of_jkey = 18
_ = 18
“_” 不要用于变量名的开头,它可以这样使用,但是不能达到见明知意

1.3 命名风格

1. 驼峰体

LevelOfJkey = 18

2.纯小写加下划线(推荐)

level_of_jkey = 18

三.变量值
3.1 变量值的俩大特征
age = 18
salary = 1.5
res = age + 1
=========> 类型
print(type(age)) #
print(type(salary))

=========> id:就是值在内存中的身份证号,id反应的就是内存
print(id(age))
print(id(salary))

is : 判断的是id是否相等
== : 判断的是值是否相等

注意:

​ 如果id相等,证明就是同一个内存地址,值一定是相等的
​ 如果值相等,他们的id不一定相等,还有可能是不同的内存地址存同样的值.
C:\Users\菩萨>python3
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.

x = 1000
y = 1000
print(x is y)
False
print(x == y)
True
z = 120
c = z
print(z is c)
True
print(z == c)
True

小整数池:python解释器在启动的时候,会先将小整数的内存地址申请好,运行的时候就可以只有运用.不用再重新申请内存地址.
x = 100000
y = 100000

print(x == y, id(x))
print(x is y, id(y))

True 和 False , None 都是python解释器事先给你造好了的内存地址.他们的id都是一个.

x = True
y = 10 > 3
z = 10 < 3
id(x)
140703900600656
id(y)
140703900600656
id(z)
140703900600688

3.2 内存管理,垃圾回收机制gc
del 解绑 解除 变量名 和 内存地址 之间的绑定
核心原理:引用计数
x = 100 # 100 的引用计数为1
y = x # 100 的引用计数为1
y = 200 # 100 的引用计数为1
del x # 100 的引用计数为0 当 计数为0时,垃圾回收机制就会自动给你在内存空间中清除了.

1.4分代回收:

​ -根据引用的次数更改的多少来改变其权重,权重越高的回收的周期越短
​ - 作用可以提示效率

1.5标记清除: 循环引用导致内存泄漏问题

常量: 不能改变的量
- 比如重力加速度
在python中定义一个常量应该要用全大写大变量名.不用也不会报错,但是不符合你的代码规范
- AGE = 18
在 go 语言中就是在定义的时候用到关键字 const
- const age int = 18

二.基本数据类型

2.1 整型int

  • 作用:形容年龄,个数,号码等

  • age = 18
    age = int(18)
    

2.2 浮点型 float

  • 作用:形容身高,体重,薪资.

  • salary = 1.5
    

2.3 字符串数据类型str

  • 作用:描述性的内容,如姓名,性别,国籍,种族

  • msg1 = '这是一个宋海星说好,刘洋说不好的故事'
    msg2 = "这是一个宋海星说好,刘洋说不好的故事"
    msg3 = '''
    这是一个宋海星说好,刘洋说不好的故事
    '''
    msg4 = """
    这是一个宋海星说好,刘洋说不好的故事
    """
    print(type(msg4))
    
  • 字符串不能存取多个数值,它只能存取一个整体.

2.4 列表类型 list

  • []内用逗号分隔开多个任意类型的元素

  • 作用:按照位置存放多个值,一般为同一种属性的值.

  • l = [111, 2.3, 'abc', [66, 77, 88]]
    对应的索引值
          0		1	  2		3
    取值的时候可以根据列表的索引去取对应的值
    例:取到77这个值
    ret = l[3][1]
    
  • 将你的兴趣爱好存放到一个列表中

    hobbies = ['read', 'music', 'movie', 'play']
    

2.5 字典类型dict

  • {}内用逗号分隔开的多个元素,每一个元素的组成都是key:value,其中的value类型可以是任意人性,而key通常都是字符串类型.

  • 作用:按照key存放多个值,key反映的是value的属性.

  • d = {"k1": 111, "k2": 1.3, "k3": "abc", "k4": [1, 2, 3], 'k5': {"a": 1, "b": 2, "k5": 3}}
    
    print(d['k1'])
    print(d["k4"][1])
    print(d['k5']["a"])
    print(d['k5']["k5"])
    
  • 用一种数据类型存一个人信息并取出其中的年龄

  • info = {
        'name': 'JKey',
        "age": 18,
        "gender": 'male',
        "hobby": ['music', 'play', 'eat']
    }
    print(info["age"])
    
  • 存放多个同学的信息

    student_info = [
        {"name": 'JKey', "age": 18, "gender": 'male', "hobby": ['music', 'play', 'eat']},
        {"name": 'liu', "age": 22, "gender": 'male', "hobby": ['music', 'play', 'eat']},
        {"name": 'song', "age": 21, "gender": 'male', "hobby": ['music', 'play', 'eat']},
    ]
    

2.6 布尔类型

  • 作用:记录真假的俩种状态.

  • z = True
    c = False
    print(type(z))  # <class 'bool'>
    
    print(10 > 1)  # True
    print(10 < 1)  # False
    name = 'jkey'
    print(name == 'jkey')  # True
    

三 基本运算符

3.1 算术运算符

算术运算符只能用来将同数据类型的进行计算

salary = 3.3
res = salary * 12

print(10 + 1)  # 11
print(10 - 3)  # 7
print(10 * 3)  # 30
print(10 / 3)  # 3.3333
print(10 // 3)  # 只保留整数部分
print(10 % 3)  # 取余数
print(10 ** 3)  # 10的3次方

print(10 + 3.1)  # 13.1
print(10 % 3.1)  # 0.634

了解,"+" 和 “*” 也能用作于字符串和列表

+
print("abc" + "def")
print("abc" + 18)

*
print("abc"*3)
print("=====================")
print('hello world')
print("="*50)

print([1,2,3]+[3,4,5])
print([1,2,3]*3)

3.2 比较运算符

x = 10
y = 10.0
print(x == y)

m = 10
n = "10"
print(m == n)
print(10 == [1,2,3])  # == 不限类型
print(10 + [1,2,3])

print(10 == [1,2,3])
print(10 != [1,2,3])

print(10 > 3.1)
print(10 >= 3.1)
print(10 <= 3.1)
print(10 < 3.1)

注意: “==” 符号俩边可以是不同的数据类型

了解

msg1="hello"
msg2="hez"
print(msg1 > msg2)

l1=[11,"x","abc","ddd"]
l2=[11,22,'zz']
print(l1 > l2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和弹出(pop)操作进行数据的存储和取出。 4. 队列:一种先进先出(FIFO)的数据结构,可以通过入队(enqueue)和出队(dequeue)操作进行数据的存储和取出。 5. 树:一种存储具有父子关系的数据结构,可以通过中序遍历、前序遍历和后序遍历等方式进行数据的访问和修改。 6. 图:一种存储具有节点和边关系的数据结构,可以通过广度优先搜索、深度优先搜索等方式进行数据的访问和修改。 这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁读取和修改数据的场合。 缺点:数组的长度是固定的,不适合存储大小不固定的动态数据,另外数组在内存中是连续分配的,当数组较大时可能会导致内存碎片化。 链表: 优点:可以方便地插入和删除元素,适用于需要频繁插入和删除数据的场合。 缺点:访问和修改元素的速度相对较慢,因为需要遍历链表找到指定的节点。 栈: 优点:后进先出(LIFO)的特性使得栈在处理递归和括号匹配等问题时非常方便。 缺点:栈的空间有限,当数据量较大时可能会导致栈溢出。 队列: 优点:先进先出(FIFO)的特性使得
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值