Python学习笔记-Day3

第一个程序

复制代码
print("hello,world")

从这个文章往后,所有的代码都会在Kali Linux上进行,然后我也会告诉你们如何使用和安装

这个地址是Kali Linux已经安装好的虚拟机,在Vmware上打开即可,密码kali/kali

Kali Linux下载地址:

Get Kali | Kali Linux

下载方法,如图所示:

Python安装的两种方法:

1、Linux

复制代码
sudo apt-get update #更新源
sudo apt-get install #下载python3版本

2、Mac

复制代码
brew install python3

3、windows:

下载地址:Python Releases for Windows | Python.org

这里提供好很多种版本的下载,可以下载这几个版本3.9.x,3.10.x,3.12.x

Vim编辑器

在Kali Linux中还需要我们认识一个东西那就是"Vim编辑器"

执行的两种命令:

在Kali Linux上执行脚本要使用的两个命令:

复制代码
1、python xx.py    #这个是直接以python运行脚本
2、./xx.py         #这个执行命令,前提是这个脚本必须要有执行的权限,如果没有需要手动添加
手动添加权限的命令:chmod +x xx.py
然后这时还不能运行,需要在xx.py的第一行添加如下内容:
#! /usr/bin/env python3,
然后就能使用此命令执行了

数据类型与变量

None和Bool

None:表示空对象

Bool:Python 中使用 True 和 False 来表示布尔值,0代表False,1代表True注意首字母大写,即判断 Python 对象、返回值、表达式真假的一组特殊数据类型。

代码:

复制代码
布尔类型:  
FALSE(None) TRUE(非零)
a = 1
b = 2
a > b  #false
a < b  #true

保留字:

保留字,又称为关键字,每种语言都有自己的一套预先保留的特殊标识符,Python 也不例外,它自带的 keyword 模块可以查看全部关键字。

代码:

复制代码
import keyword
print(keyword.kwlist)

内置函数:

菜鸟教程:Python 内置函数 | 菜鸟教程

了解也即

变量

编程语言中为了能够更好的处理数据,都需要使用一些变量。变量基本上就是代表(或是引用某值的名字)。Python 语言的变量可以是各种不同的数据类型,使用变量的时候不需要声明,Python 解释器会自动判断数据类型。使用 type(变量)可以查看该变量的类型。

复制代码
a = 1
b = 2
c = "youzi"
type(a)
type(b)
type(c)

变量命名规则

1、驼峰命令法

示例:

复制代码
First_Name = 'youzi'

2、下划线命名法

示例:

复制代码
You_zi = 2

空行、缩进与多行代码

空行:

一般空行用于不同函数之间、不同类之间、以及类和函数之间进行分隔。空行不是 Python 的语法,即使不插入空行程序运行也不会出错。插入空行的主要目的是方便代码阅读以及日后的维护。

缩进:

Python 对于缩进的要求是非常严格的,它依靠缩进距离区分代码块,所以在 Python 中缩进也是一种语法,缩进的距离是可变的,具有相同缩进距离的属于同一个代码块。

多行代码:

Python 代码中一般一行只写一条语句。如果想要在一行中写多条语句,那么语句之间就需要使用 ; 进行分隔。

字符串

Python 3 中的字符串可以使用双引号或单引号标示,如果字符串中出现引号,则可以使用 \ 来去除引号标示字符串的特殊作用。

代码:

复制代码
print("Hello,\"world!")  #Hello,"world!

字符串常用属性和方法:

1、count

2、split和strip

3、upper和lower

4、len()

示例:
1、count
复制代码
First_Name = 'aaaabbbccccaaa'
print(count('a'))
>>4
count是计数的

2、split和strip

复制代码
First_Name = 'aaaa:bbb:cccc:aaa'  
result = First_Name.split(":")  
print(result)
>>['aaaa', 'bbb', 'cccc', 'aaa']

First_Name = '               aaaa:bbb:cccc:aaa              '  
print(First_Name)  
result = First_Name.strip()  
print(result)
>>               aaaa:bbb:cccc:aaa              
>>aaaa:bbb:cccc:aaa

split是指定某个字符分割
strip是删除字符两边的空格

3、upper和lower

复制代码
First_Name = "FirstName"  
print(First_Name.upper())  
print(First_Name.lower())
>>FIRSTNAME
>>firstname

upper是全部大写
lower是全部小写

4、len()

复制代码
First_Name = "FirstName"  
print(First_Name.__len__())
>>9

__len__()和len()是一个作用,都是计算字符长度的

运算符

Python算术运算符
复制代码
#! /usr/bin/env python3
 
a = 21
b = 10
c = 0
 
c = a + b
print ("1 - c 的值为:", c)
 
c = a - b
print ("2 - c 的值为:", c)
 
c = a * b
print ("3 - c 的值为:", c)
 
c = a / b
print ("4 - c 的值为:", c)
 
c = a % b
print ("5 - c 的值为:", c)
 
# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b 
print ("6 - c 的值为:", c)
 
a = 10
b = 5
c = a//b 
print ("7 - c 的值为:", c)

输出结果:
1 - c 的值为: 31
2 - c 的值为: 11
3 - c 的值为: 210
4 - c 的值为: 2.1
5 - c 的值为: 1
6 - c 的值为: 8
7 - c 的值为: 2
Python 比较运算符

以下假设变量 a 为 10,变量 b 为20:

复制代码
#! /usr/bin/env python3
 
a = 21
b = 10
c = 0
 
if ( a == b ):
   print ("1 - a 等于 b")
else:
   print ("1 - a 不等于 b")
 
if ( a != b ):
   print ("2 - a 不等于 b")
else:
   print ("2 - a 等于 b")
 
if ( a < b ):
   print ("3 - a 小于 b")
else:
   print ("3 - a 大于等于 b")
 
if ( a > b ):
   print ("4 - a 大于 b")
else:
   print ("4 - a 小于等于 b")
 
# 修改变量 a 和 b 的值
a = 5
b = 20
if ( a <= b ):
   print ("5 - a 小于等于 b")
else:
   print ("5 - a 大于  b")
 
if ( b >= a ):
   print ("6 - b 大于等于 a")
else:
   print ("6 - b 小于 a")
   
   
输出结果:
1 - a 不等于 b
2 - a 不等于 b
3 - a 大于等于 b
4 - a 大于 b
5 - a 小于等于 b
6 - b 大于等于 a
Python赋值运算符

以下假设变量a为10,变量b为20:

复制代码
#! /usr/bin/env python3
 
a = 21
b = 10
c = 0
 
c = a + b
print ("1 - c 的值为:", c)
 
c += a
print ("2 - c 的值为:", c)
 
c *= a
print ("3 - c 的值为:", c)
 
c /= a 
print ("4 - c 的值为:", c)
 
c = 2
c %= a
print ("5 - c 的值为:", c)
 
c **= a
print ("6 - c 的值为:", c)
 
c //= a
print ("7 - c 的值为:", c)


输出结果:
1 - c 的值为: 31
2 - c 的值为: 52
3 - c 的值为: 1092
4 - c 的值为: 52.0
5 - c 的值为: 2
6 - c 的值为: 2097152
7 - c 的值为: 99864
Python位运算符

下表中变量 a 为 60,b 为 13二进制格式如下:

复制代码
a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100  两个数进行与运算,都为1才是1

a|b = 0011 1101  两个数进行或运算,只要有一个是1就是1

a^b = 0011 0001  两个数进行异或运算,当两个对应的二进位相异时,结果为1,

~a  = 1100 0011  对二进制的数取反

代码如下:

复制代码
#! /usr/bin/env python3
 
a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0
 
c = a & b        # 12 = 0000 1100
print ("1 - c 的值为:", c)
 
c = a | b        # 61 = 0011 1101 
print ("2 - c 的值为:", c)
 
c = a ^ b        # 49 = 0011 0001
print ("3 - c 的值为:", c)
 
c = ~a           # -61 = 1100 0011
print ("4 - c 的值为:", c)
 
c = a << 2       # 240 = 1111 0000
print ("5 - c 的值为:", c)
 
c = a >> 2       # 15 = 0000 1111
print ("6 - c 的值为:", c)

输出结果:
1 - c 的值为: 12
2 - c 的值为: 61
3 - c 的值为: 49
4 - c 的值为: -61
5 - c 的值为: 240
6 - c 的值为: 15
Python逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

复制代码
#! /usr/bin/env python3
 
a = 10
b = 20
 
if ( a and b ):
   print ("1 - 变量 a 和 b 都为 true")
else:
   print ("1 - 变量 a 和 b 有一个不为 true")
 
if ( a or b ):
   print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
   print ("2 - 变量 a 和 b 都不为 true")
 
# 修改变量 a 的值
a = 0
if ( a and b ):
   print ("3 - 变量 a 和 b 都为 true")
else:
   print ("3 - 变量 a 和 b 有一个不为 true")
 
if ( a or b ):
   print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
   print ("4 - 变量 a 和 b 都不为 true")
 
if not( a and b ):
   print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
   print ("5 - 变量 a 和 b 都为 true")
   
输出结果:
1 - 变量 a 和 b 都为 true
2 - 变量 a 和 b 都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true,或其中一个变量为 true
5 - 变量 a 和 b 都为 false,或其中一个变量为 false
Python成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

复制代码
#! /usr/bin/env python3
 
a = 10
b = 20
list = [1, 2, 3, 4, 5 ]
 
if ( a in list ):
   print ("1 - 变量 a 在给定的列表中 list 中")
else:
   print ("1 - 变量 a 不在给定的列表中 list 中")
 
if ( b not in list ):
   print ("2 - 变量 b 不在给定的列表中 list 中")
else:
   print ("2 - 变量 b 在给定的列表中 list 中")
 
# 修改变量 a 的值
a = 2
if ( a in list ):
   print ("3 - 变量 a 在给定的列表中 list 中")
else:
   print ("3 - 变量 a 不在给定的列表中 list 中")
   
输出结果:
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中
Python身份运算符

身份运算符用于比较两个对象的存储单元

复制代码
#! /usr/bin/env python3
 
a = 20
b = 20
 
if ( a is b ):
   print ("1 - a 和 b 有相同的标识")
else:
   print ("1 - a 和 b 没有相同的标识")
 
if ( id(a) == id(b) ):
   print ("2 - a 和 b 有相同的标识")
else:
   print ("2 - a 和 b 没有相同的标识")
 
# 修改变量 b 的值
b = 30
if ( a is b ):
   print ("3 - a 和 b 有相同的标识")
else:
   print ("3 - a 和 b 没有相同的标识")
 
if ( a is not b ):
   print ("4 - a 和 b 没有相同的标识")
else:
   print ("4 - a 和 b 有相同的标识")
   
输出结果:
1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识
Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符, 相同单元格内的运算符具有相同优先级。 运算符均指二元运算,除非特别指出。 相同单元格内的运算符从左至右分组(除了幂运算是从右至左分组):

复制代码
#! /usr/bin/env python3
 
a = 20
b = 10
c = 15
d = 5
e = 0
 
e = (a + b) * c / d       #( 30 * 15 ) / 5
print ("(a + b) * c / d 运算结果为:",  e)
 
e = ((a + b) * c) / d     # (30 * 15 ) / 5
print ("((a + b) * c) / d 运算结果为:",  e)
 
e = (a + b) * (c / d)    # (30) * (15/5)
print ("(a + b) * (c / d) 运算结果为:",  e)
 
e = a + (b * c) / d      #  20 + (150/5)
print ("a + (b * c) / d 运算结果为:",  e)

输出结果:
(a + b) * c / d 运算结果为: 90.0
((a + b) * c) / d 运算结果为: 90.0
(a + b) * (c / d) 运算结果为: 90.0
a + (b * c) / d 运算结果为: 50.0
相关推荐
武子康3 小时前
AI研究-133 Java vs Kotlin/Go/Rust/Python/Node:2025 详细对比分析 定位与取舍指南
java·javascript·python·golang·rust·kotlin·node
ljt27249606613 小时前
Compose笔记(五十九)--BadgedBox
android·笔记·android jetpack
执笔论英雄3 小时前
【RL]expand_requests干啥的
服务器·开发语言·python
kesifan3 小时前
JAVA线程的建立方法
java·开发语言·python
TechMasterPlus3 小时前
调用千问大模型服务
人工智能·python
优选资源分享3 小时前
维克日记 v1.5.0:本地隐私日记工具
笔记·实用工具·本地日记
apocelipes3 小时前
Linux的binfmt_misc机制
linux·c语言·c++·python·golang·linux编程·开发工具和环境
中工钱袋3 小时前
Java Stream 流详解
java·windows·python
雷工笔记3 小时前
MES学习笔记之MES系统的作用和定位及与SCADA的关系
大数据·笔记·学习
c***93773 小时前
Spring Security 官网文档学习
java·学习·spring