python 语言的特点
Pasted image 20250506091851.png
java语言创建变量的时候,是先声明后赋值,所以java是静态语言
python是先赋值,后确定数据类型,所以python是动态语言

java int nu=1
python: num=1

java 是先编译后解释得语言
python 是解释性语言
python(粘合剂)

Package 就是指库
def print_my(name):
print(name)
吧这个文件封装放到my-selenium中。

pip包管理工具可以帮助我们下载第三方package

怎么下载package:

1、可以通过pycharm下载

2、可以通过Pip命令下载

pip install包名+==+版本号,指的是Pip下载

pip uninstall 包名 指的是卸载指定的Package

一样的
print('hello world')
print("hello world")

name(): 某一块内存空间
name = '王小贱'
#这是一个注释

print(type(name))  # 查看数据类型,type()返回参数的数据类型
在python中不能以数字作为开头

number = '1'  # 字符串
number2 = 1    # 数字

number = 1
number2 = 1
print(id(number), id(number2))  # 查看内存地址
# 当保存的数据较小时,python会将相同数据指向同一内存地址
# 以达到节约内存的效果

字符串驻留机制
字符串驻留机制是指对于较短的字符串,解释器会尝试将其存储在内存中的相同位置,
以节省内存空间。这意味着当使用相同的字符串值创建多个对象时,解释器会尽量让这些对
象共享相同的内存空间,从而减少内存占用。这个优化策略适用于一定范围内的字符串,通
常是长度不超过20个字符的字符串。

print(isinstance(number, int)) #isinstance(变量,数据类型)
判断其数据类型是否为指定的数据类型,如果一致,则返回True,不同则返回False

'''这是多行注释'''
"""这也是多行注释"""

常用于开头注释
"""
作者: xxx时间:xxx
内容:xxx
"""
函数的注释
def print_hi(number):
"""
二次封装print()方法
:param name: 参数
:return:默认为None
--Ι """

#! /usr/bin/env/python3

-- coding=utf-8 --

#特殊注释:
第一行 #! /usr/bin/env/python3 指定Python解释器路径
第二行 # -*- coding=utf-8 -*- 指定编码格式(Python3默认支持UTF-8,此写法为保留习惯)

python 的输入

python 的输入

name = input('请输入您的名字:')  # 获取用户输入,返回str类型
print(f"您的名字叫 {name}")      # 推荐使用f-string格式化输出

格式化输出:

print(f'您的名字叫做{name}') 

f'是一种格式化输出方式,后续需要格式化的内容要用{}括起来。

python中常用的转义符:

number1=input("请输入一个数字:")  
number2=input("请输入另一个数字:")  
print(int(number1)+int(number2))#  int() 强制转换成int类型

双引号转义符:\” 代表人类所理解的“

print("我说:\"这是一段测试语句\"")  
# 大小写混用
print("我说:'这是一段测试语句'") # (套小引号也可以)
#\'
代表人类所理解的'
# \\ 代表\

Pasted image 20250506140636.png

\代表续行符,一般用在一行代码的最后。

print(*objects, sep=' ', end='\n')
objects是不定长参数,允许函数接收任意数量的输出对象。这些对象会被自动转换为字符串形式,就像对每个对象调用了str()函数一样。这也解释了为什么print()能够处理多种不同类型的数据

sep参数定义了多个对象之间的分隔符,默认为一个空格' '。当print()函数接收多个对象时,它会使用这个分隔符将它们连接起来

end参数指定了打印结束后要添加的字符,默认为换行符'\n'。这就是为什么每次调用print()后光标会移动到下一行的原因。(可通过修改该参数实现打印不换行效果)

格式化输出方式:

占位符格式化

# %s: 字符串  %d: 整数 %f:浮点型
print("我叫%s, 今年%d岁" % ("张三", 25))  

#如果要设置浮点型的小数位数,可以使用%.2f

# 新式格式化(f-string 推荐)
print(f"我叫{name}, 今年{age}岁")  

浮点型的加减,因为要转换为二进制计算,所以会有误差
python浮点型精确计算,使用decimal模块

  1. format()方法
    在Python中,format()方法是一种用于格式化字符串的强大工具,允许通过占位符将变量插入字符串中,并提供多种格式控制方式。

从Python 3.6开始,引入了f-string(格式化字符串字面量),提供了更简洁的替代方案。

基本用法:

print('{}网址:"{}"'.format("搜索引擎", "www.baidu.com"))  

格式化输出的第二种方式 - f-string (推荐):

name = "张三"
age = 25
print(f"我叫{name}, 今年{age}岁")

第三种方式 - format()方法:

# 基本用法
print("{},{}".format("第一个内容", "第二个内容")) 

# 带变量名
print("我叫{name}, 性别{gender}".format(name="李四", gender="男"))

# 混合使用
print("{0}今年{1}岁".format("王五", 30))

Python变量的规则

1、变量名由字母、数字和下画线组成。(中文字能用,但不建议用)
2、首字符不能是数字,也不能是纯数字。(对:list_1,错:2_list)
3、Python的变量名区分大小写。(list_1, List_1, LIST_1被视为不同变量名称)
4、不要用Python中有特殊用途的单词作为变量名,如Python系统保留字、函数名。
5、变量的名字最好和变量的功能相对应。
6、一个变量名对应一个变量,我们通过每个变量独特的变量名来调用这个变量的值。
7、其实Python3支持中文命名类/方法/变量,不过不建议变量名用中文字。

无状态的http转为有状态(cookie):

添加关于HTTP状态和Cookie的解释

HTTP协议本身是无状态的,为了记录用户状态使用了Cookie机制:

  1. 服务器通过Set-Cookie响应头下发cookie到客户端
  2. 客户端保存cookie并在后续请求中通过Cookie请求头发送回服务器
  3. 服务器根据cookie内容识别用户身份和状态

python的运算符

基本运算符

高级运算符

比较运算符
Pasted image 20250506152808.png

赋值运算符
Pasted image 20250506153348.png

Python逻辑运算符
Pasted image 20250506153656.png

python预算符优先级:
#python的世界里面, 1就为true 0为false

if 109:
print('hello world')# 大于0就为true

运算符的优先级,有括号先算括号里面,然后是读取、切
片等操作,乘方,乘法、除法、整除等、加法和贱法等
Pasted image 20250506154422.png

Pasted image 20250506154737.png

Pasted image 20250506154746.png

not in while for if
被称之为常量,常量不可以用作变量名

list = [1, 2, 3, 4, 5, 6, 7]  
a = 1  
print(a in list)

python的数据类型(字符串,number,序列)

Python 3中有六种基本数据类型,分别是:
Number (数字)
String (字符串)
List (列表)
Tuple (元组) 不可变的列表
Set (集合)
Dictionary (字典)

三种数据类型不可变:
Number String Tuple

错误演示

# 修改字符串  
name = "xxx"  
name[1]="g"  
print(name[1])

而剩下的三类则是可变的:

List (列表)
Dictionary(字典)
Set(集合)

python的字符串

>字符串拼接操作: str1 = "Hello"
str2 = "World"
result = str1 + ""+str2 # 结果: "Hello World"

连接字符串操作:

# join()链接字符串 里面一般存放字符串等序列  
  
print('aaa'.join('xxx'))

字符串重复

a = 'wang'  
print(a * 3)

字符串索引(字符串不可变,不能用索引修改值)

# 索引  
a='giaogiaogaio'  
print(a[0])
# 从后往前算
print(a[-1])

Pasted image 20250506163737.png

python 的切片

a="wangxiaojian"
#从0开始,到下标为5的位置结束,步长step为2.
print(a[0:5:2])
#得到:w n x
#讲究含头不含尾。
#切片

Pasted image 20250506165158.png

Pasted image 20250506165308.png

python中分割字符串

根据xxxxx进行分割,返回一个列表

name = '爱新觉罗·王者'  
print(name.split("·"))
name = '爱新觉罗·王者'  
# 遍历字符串的每一个字符:  
for i in name:  
    print(i)

python中一切皆是对象

is 判断的是是否引用的同一个对象

Pasted image 20250506170726.png