多图速成Python基础语法下篇【万字建议收藏】_print(2024<2024or2024&gt)

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

网络安全源码合集+工具包

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

@File : operator.py

@Project : hello

x = 3
print(“x %s” % x)
x += 3
print(“+=3 %s” % x)
x -= 3
print(“-=3 %s” % x)
x *= 3
print(“*=3 %s” % x)
x **= 3
print(“**=3 %s” % x)
x /= 3
print(“/=3 %s” % x)
x = 3
x //= 3
print(“//=3 %s” % x)
x = 10
x %= 3
print(“%”+“= %s” % x)


运行结果:


![在这里插入图片描述](https://img-blog.csdnimg.cn/123e4baa9f7245148afbe8f921645d07.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zu35a2m5aeU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)


### 位操作符


在计算机内数据都是二进制存储的。


比如数字8(十进制),存储起来是:0000…0000100(就是30位的其他位都是0,除了第三位是1,表示2的三次方)。


所以左移动一位就是乘以2,或者右移动除以2。


我们看看下面的代码:



#!/usr/bin/env python

-*- coding: utf-8 -*-

@Time : 2021/10/4 9:49 下午

@Author : LeiXueWei

@CSDN/Juejin/Wechat: 雷学委

@XueWeiTag: CodingDemo

@File : operator.py

@Project : hello

import sys

data = 8 # 二进制:1000
print(“与运算:8 & 1 ? %s” % (data & 1)) # 1000 & 0001 = 0
print(“或运算:8 | 1 ? %s” % (data | 1)) # 1000 | 0001 = 1001
print(“异或运算:8 ^ 2 ? %s” % (data ^ 2)) # 1000 ^ 0010 = 1010
print(“异或运算:8 ^ 8 ? %s” % (data ^ data)) # 1000 ^ 1000 = 1010
print(“按位取反运算:~8 ? %s” % (~data)) #~x = -x - 1
print(“按位取反运算:~ -8 ? %s” % (~ -data)) #~ -x = -x - 1
print(“原数的二进制格式输出: %s” % bin(data & 0xFFFFFFFF))
print(“取反之后的二进制格式输出: %s” % bin(~data & 0xFFFFFFFF))
print(“左移位运算: 8 <<2 ? %s” % (data << 2))
print(“右移位运算: 8 <<2 ? %s” % (data >> 2))
print(“8 & 1 ? %s” % (data & 1))
print(“8 & 2 ? %s” % (data & 2))
print(“8 & 8 ? %s” % (data & 8))


运行结果如下:


![在这里插入图片描述](https://img-blog.csdnimg.cn/39ff1059265f47589b1ee167adb06c2f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zu35a2m5aeU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)


& 表示对应位同时为1则标记结果对应位置为1;  
 | 表示只要对应位置为1则标记结果对应位置为1。  
 ^ 异或则对应位置同为0/1则标记结果对应位置为0,其他情况为1.  
 取反,0变成1,1变成0


### 逻辑操作符


这个非常简单,记住这三个:and, or, not。  
 用法则是,and / or 需要连结两个表达式。not 则可以在任何表达式前面。


我们直接看代码:



#!/usr/bin/env python

-*- coding: utf-8 -*-

@Time : 2021/10/4 9:49 下午

@Author : LeiXueWei

@CSDN/Juejin/Wechat: 雷学委

@XueWeiTag: CodingDemo

@File : operator.py

@Project : hello

expr = 1 > 2
print("expr : ",expr)
print("not expr: ", not expr)
print("and : ", expr and (2 > 3))
print("or : ", expr or (2 > 3))
print("or : ", expr or (4 > 3))


直接看结果:


![在这里插入图片描述](https://img-blog.csdnimg.cn/0602c2a0bb5c4aebb0f103dbefb126e2.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zu35a2m5aeU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)


### 成员识别操作符


这个也非常简单,只需要记住两个:in 和 not in。  
 也就是针对容器类的比如list/tuple/字符串类型的数据,我们使用in或者not in判断某个值是否为该容器的元素。


看看代码



#!/usr/bin/env python

-*- coding: utf-8 -*-

@Time : 2021/10/4 9:49 下午

@Author : LeiXueWei

@CSDN/Juejin/Wechat: 雷学委

@XueWeiTag: CodingDemo

@File : operator.py

@Project : hello

data = [1, 2, 3]
print(“1 in list %s: %s” % (data, 1 in data))
print(“4 not in list %s: %s” % (data, 4 not in data))
data = (1, 2)
print(“1 in tuple %s : %s” % (data, 1 in data))
print(“4 not in tuple %s : %s” % (data, 4 not in data))
data = “hello world”
print(““hello” in string %s : %s” % (data, “hello” in data))
print(““hello2” not in string %s : %s” % (data, “hello2” not in data))


查看运行效果:


![在这里插入图片描述](https://img-blog.csdnimg.cn/3448d1d3f83d41be8231bfe2f3fe9fa6.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zu35a2m5aeU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)


### 身份识别操作符


这个也非常简单,只需要记住两个:is 和 is not。  
 主要用来判断两个变量是否同个



#!/usr/bin/env python

-*- coding: utf-8 -*-

@Time : 2021/10/4 9:49 下午

@Author : LeiXueWei

@CSDN/Juejin/Wechat: 雷学委

@XueWeiTag: CodingDemo

@File : operator.py

@Project : hello

data = [1, 2, 3]
print(“data is data %s: %s” % (data, data is data))
other = “hello”
print(“%s is data %s: %s” % (other, data, other is data))
print(“%s is not data %s: %s” % (other, data, other is not data))
print(““222” is data %s: %s” % (data, “222” is data))
print(““222” is “222” : %s” % (“222” is “222”))


运行效果:


![在这里插入图片描述](https://img-blog.csdnimg.cn/2f82b891145c4f72b60a9bec0837ad7d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zu35a2m5aeU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)


更多补充:is 在python里面就是判断两个对象是否同个id的(也就是id(object)函数的结果,object的内存地址)。


## If条件分支


我们写代码的时候有时候并不想从头到尾执行。


前面介绍了各种操作符,它们都可以用来制作表达式。


然后给条件分支作为判断执行的依据。


如果需要有条件有选择的运行代码,在python里面可以这样:



#!/usr/bin/env python

-*- coding: utf-8 -*-

@Time : 2021/10/4 9:49 下午

@Author : LeiXueWei

@CSDN/Juejin/Wechat: 雷学委

@XueWeiTag: CodingDemo

@File : ifelse.py

@Project : hello

data = 1
if data == 1:
print(“data is 1”)
else:
print(“data is not 1”)

data = 5
if data == 1:
print(“data is 1”)
elif data < 10:
print(“data < 10”)
else:
print(“data >= 10”)


我们先看看运行效果:


![在这里插入图片描述](https://img-blog.csdnimg.cn/53c4b28b393944ea894917b6161da3ef.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zu35a2m5aeU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)  
 这里我们再回顾抽取如下:



if 条件表达式1:
这里放满足表达式1情况下运行的代码
elif 条件表达式2:
如果第二种情况的判断,运行这里的代码
else:
其他情况,运行这里的代码


这里的elif 分支,和else分支也是可以省略的,最简化的如下:



if 条件表达式1:
这里放满足表达式1情况下运行的代码


## 循环重复执行For-Loop


循环的用途,就是让程序不停(或者限定次数)运行指定代码。


比如,让你编程实现1 + 2 + … + 100,求和1逐步累加到100的和。


当然可以编程 1 + 2 + 3 一支写到100,当时如果要求计算到10000呢?



#!/usr/bin/env python

-*- coding: utf-8 -*-

@Time : 2021/10/4 9:49 下午

@Author : LeiXueWei

@CSDN/Juejin/Wechat: 雷学委

@XueWeiTag: CodingDemo

@File : forloop.py

@Project : hello

start = 1
n = 100
sum = 0
while start <= n:
sum = sum + start
start += 1

print(“sum of (1,…,%s) is %s” % (n, sum))


运行结果如下:


![在这里插入图片描述](https://img-blog.csdnimg.cn/7cf2b0602c1e41e4b8ea3f72bcf8bcc7.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zu35a2m5aeU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)  
 读者可以改代码中的n变量的值,如果要累加到10000,那么直接修改n为10000,运行代码即可算出。


### 跳出/终止循环


比如还是上面的求和计算,想要超过1000的数字就不再累加。


怎么做到?python里面给出了”break“这个关键字。


下面看看代码怎么实现:



#!/usr/bin/env python

-*- coding: utf-8 -*-

@Time : 2021/10/4 9:49 下午

@Author : LeiXueWei

@CSDN/Juejin/Wechat: 雷学委

@XueWeiTag: CodingDemo

@File : forloop.py

@Project : hello

start = 1
n = 10000
sum = 0
while start <= n:
sum = sum + start
if start >= 1000:
break
start += 1
print(“start is %s” % start)
print(“sum of (1,…,%s) is %s” % (start, sum))


运行代码我们可以发现运行到start=1000的时候累加完,程序就输出累加结果了。


当然python里面还有continue和pass关键字。


这里不作展示了,简单说明一下:


continue:会让循环继续运行,但是会跳过continue  
 后面的代码,直到不满足continue的条件或者循环结束。


pass:则是不限制于循环内使用,我们定义函数也能用pass。循环内使用pass


循环也能用for来编写,下面把上面几个关键字一并展示了。



#!/usr/bin/env python

-*- coding: utf-8 -*-

@Time : 2021/10/4 9:49 下午

@Author : LeiXueWei

@CSDN/Juejin/Wechat: 雷学委

@XueWeiTag: CodingDemo

@File : forloop.py

@Project : hello

for letter in ‘Love Python’:
if letter == ’ ':
print(“空格”)
continue
if letter == ‘h’:
pass
print(‘This is pass block’)
print(‘Current Letter :’, letter)

print(“雷学委的forloop程序结束!”)


直接看一下运行效果:


![在这里插入图片描述](https://img-blog.csdnimg.cn/e736f5b1ebc1402e8bda48f9cf58ea04.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zu35a2m5aeU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)


## 最后思考一下


结合前篇


可以运行一下下面的代码,然后猜测一下这些操作符的优先顺序。



#!/usr/bin/env python

-*- coding: utf-8 -*-

@Time : 2021/10/4 9:49 下午

@Author : LeiXueWei

@CSDN/Juejin/Wechat: 雷学委

@XueWeiTag: CodingDemo

@File : operator_ordering.py

@Project : hello

本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。

最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。

最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。

学习路线图

其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。

相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。

网络安全工具箱

当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。

项目实战

最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

面试题

归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 25
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值