程序猿小白艰辛学习的第三天

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

引用
print(变量名)运行会显示出变量值

变量名
变量名的命名应该遵循见名知意的原则
命名的规范:1.有字母,数字,下划线组成,(变量名注意尽量不要用_开头命名)
2.不能以数字开头,
3.不能用python的一些关键字命名,如果用python的关键字命名会导致python自带的一些功能失效。[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

命名风格(不要用中文和拼音命名)
1.驼峰体
例如:LevelofAge = 18
2.纯小写加下划线(推荐)
例如:level_of_age = 18

变量值
变量值的两大特征
age = 18
salary = 3.3

res = age + 1
print(res)

print(type(age)) # <class ‘int’> 整数
print(type(salary)) # <class ‘float’> 浮点数

id就是内存中的身份证号码,id就是反映的内存的地址号码
is 判断id是否相等(id相等表示两个数据在同一个内存空间里面)
== 判断值是否相等

id相等,证明同一个id地址,值肯定相等
演示:
x = 1000
y = x
print(x is y) #True
print(x == y) #True

值相等,id不一定相等(交互式环境里面)
x=1000
y=1000
print(x is y) #False
print(x == y) #True
小整数池(在交互式环境里面区间是-5 256),在python解释器加文件去运行小整数池区间会扩大
True False None是系统直接赋值的id,这些id值就只有一个

内存回收功能
x=100 100的引用计数为1
y=x 100的引用计数为2
y=200 100的引用计数为1
del x (#del表示解绑的意思) 100的引用计数为0 ,100占用的内存空间会被释放掉
内存回收功能采用引用计数的方式
分代回收:通过扫描变量值所占用的内存的空间与变量名之间的关联路径的变化进行回收。
系统会有频率的减少对经常有链接路径的内存空间的扫描清理,这样可以提升内存回收的效率。

常量
常量是不变的量,python中没有定义常量的语法,纯大写字母就表示常量(python常量可以改,不过写程序的过程中不要去改动)。这样的设计思维导致了python的关键字变得精简,大大提高了语言的推广作用,
有一些编程语言的常量是不可以改动的,如果go语言,如果该常量会报错。

基本数据类型
整数型int
变量值是整数

浮点型float
变量值小数

字符串类型str
用来记录描述性语言(变量值必须加引号。需要用到双引号时,外层用双引号,内层必须用单引号。外层用单引号,内层必须用双引号)
msg1=“nana”
msg2=‘nana’
msg3=”“”nana
nana“”“#可以写到多行(三双引号在文章开头可以当注释用)
msg4=‘’‘nana
nana’’’#可以写到多行(三单引号在文章开头可以当注释用)

列表类型ist(【 】内用 , 分隔开多个任意类型的元素)
作用:按照位置存放多个值
列表类型是从0开始计数的
0 1 2 3【0,1,2】
l = (1, 2.3, “abc”,[1, 2, 3])
print(l[0]) #1
print(l[3][2]) #3
print(l[2]) #abc
列表类型的值适用于同种属性的值

字典类型dict({ }内用 , 分隔开不同属性的值,每一个字符串组成都是“key”:valve,其中“key”通常是字符串的类型,valve可以是任意类型的字符)
字典类型的值适用于不同属性的值
a = “b”
c = “d”
s = 1
l = {“a”: “b”,
“c”: “d”,
“s”: 1,
“x”: [1, 2, 3],
“n”: {“p”:“nana”, “q”: “dada”}}
print(l[“s”]) #1
print(l[“x”][2])#3
print(l[“n”][“p”])#nana

布尔类型
记录真假的状态
True
False

基本运算符
算数运算符(字符串也可以相加,python是一种强类型解释型语言,字符串不能跟数字相加。尽量不要让字符串相加,字符串相加会占用新的内存空间。shell是一种弱类型语言,字符串能跟数字相加。)
print(a+b)
print(a-b)
print(a/b)
print(a//b)#只保留整数部分
print(a%b)#取余数
print(a**b)#a的b次方

比较运算符
只能对比相同类型的字符(字符串也可以比大小,按照对应位置对比字母大小)
print(10 == [1, 2, 3])#False
print(10 != [1, 2, 3])#True
print(10>2.1)#True
print(10>=2.1)#True
print(10<2.1)#False
print(10<=2.1)#False
列表对比大小会按照对应位置比大小,字典类型对比大小会按照同一类型对比大小

热门文章

暂无图片
编程学习 ·

论怂

从心为怂&#xff0c;世人的误解 老祖宗还是有智慧的&#xff0c;这不是个肯定句。这是个判断语句&#xff0c;if you want to follow your heart,you should be 怂
暂无图片
编程学习 ·

面试总结

面试总结 1.面试以项目为开始展开&#xff0c;不断深入&#xff0c;从项目的背景一直介绍到项目用到的技术原理。会不断的问为什么 2.考察底层原理 3.语言表达能力很重要&#xff0c;需要把原理背景说清楚 下面是题目&#xff0c;欢迎大家把想到的答案写在评论区一起讨论 题目&…
暂无图片
编程学习 ·

Windows安装redis

Windows安装redis 可以到https://github.com/microsoftarchive/redis/releases下载最新的windows版本 双击 redis-server 就会安装默认配置启动redis服务 这样就说明在windows下启动redis成功了&#xff0c;端口号是6379
暂无图片
编程学习 ·

Victor CMS 未授权sql注入(CVE-2020-29280)漏洞复现

0X00简介 The Victor CMS v1.0版本存在安全漏洞&#xff0c;该漏洞源于通过search.php页面上的“search”参数造成的。 0X01影响范围 The Victor CMS v1.0 0X02漏洞复现 在search.php中search参数未经过滤就直接和sql语句拼接导致sql注入漏洞 1.访问首页点击搜索框&#x…
暂无图片
编程学习 ·

从根本上把握防护DDoS的核心要素,不怕DDoS攻击防不住

随着互联网技术的广泛应用和飞速发展&#xff0c;DDoS流量攻击案件频发&#xff0c;网站防护DDoS变得越来越重要&#xff0c;只有采取有效的网站安全防护措施&#xff0c;才能够更好的防御黑客的攻击。 近日&#xff0c;公安部的微信公众号发布了一则重要提醒&#xff1a;你常…
暂无图片
编程学习 ·

211本,字节视频1面凉凉,三天后,却收到了美团offer?

写在开头 2020年的开端&#xff0c;似乎并不那么幸运&#xff0c;新冠肺炎的出现&#xff0c;对我们的生活、工作和学习都造成了非常大的影响&#xff0c;很多公司延期返工了&#xff0c;原本的金三银四似乎也不会如往年那般热闹&#xff0c;但这并不意味着我们就什么都不去做…
暂无图片
编程学习 ·

12.13补课周

记录2leetcode 104 递归 非递归的栈的还不会写 思路 利用DFS,深度递归&#xff1b;总深度为左石子树最大深度加1; 空树深度为0&#xff61; 代码 // An highlighted block /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode l…
暂无图片
编程学习 ·

2020-12-17

显示如下问题&#xff1a;、Android studio No Debuggable Processes 解决方法&#xff1a;选中 Run->Debug 重新Debug编译运行就可以了。
暂无图片
编程学习 ·

大数据与云计算

大数据与云计算什么是云计算&#xff1f;云计算包含哪些关键技术&#xff1f;云计算有哪些特点&#xff1f;IaaS、PaaS、SaaS是什么&#xff1f;基础设施即服务IaaSIaaS的特点平台即服务PaaSPaaS的特点PaaS的作用软件即服务SaaSSaaS的特性云计算的基础设施和功能云计算的基础设…
暂无图片
编程学习 ·

TinyML-TVM是如何驯服Tiny的(下)

TinyML-TVM是如何驯服Tiny的&#xff08;下&#xff09; Lazy Execution 实际上&#xff0c;随着通信开销开始占主导地位&#xff0c;一旦用户请求&#xff0c;就执行算子的开销变得非常昂贵。可以通过延迟评估直到用户需要调用的结果来提高系统的吞吐量。 从实现的角度来看&a…
暂无图片
编程学习 ·

航次总结2020年7月

航次结束了快2个月&#xff0c;一直没有时间写本航次的总结&#xff0c;主要原因是自己承担的任务要验收&#xff0c;费了好大的劲&#xff0c;才将数据处理成验收单位所需要的&#xff0c;所幸现在应该是没有问题了&#xff0c;符合专项的要求了。航次期间&#xff0c;由于还有…
暂无图片
编程学习 ·

png是什么格式?

png是一种采用无损压缩算法的位图格式。PNG格式有8位、24位、32位三种形式&#xff0c;其中8位PNG支持两种不同的透明形式&#xff0c;24位PNG不支持透明&#xff0c;32位PNG在24位基础上增加了8位透明通道&#xff0c;因此可展现256级透明程度。 png是一种采用无损压缩算法的位…
暂无图片
编程学习 ·

aop 的使用

aop有两种方式&#xff0c;一个是注解&#xff0c;另外一个是配置xml 1、注解的方式&#xff1a; a、和xml一样&#xff0c;首先得有个配置&#xff0c;如果是springboot&#xff0c;写个配置类&#xff1a; Configuration EnableAspectJAutoProxy ComponentScan("xxx.…
暂无图片
编程学习 ·

python制作命令行工具——fire

一、快速介绍 来一波官方介绍。 Python Fire是一个库&#xff0c;用于从任何Python对象自动生成命令行接口。是用python创建CLI的一种简单方法。是开发和调试Python代码的一个有用工具。Python Fire帮助探索现有代码或将其他人的代码转换为CLI。使得Bash和Python之间的转换更…