Python

本文介绍了Python的基础知识,包括代码书写规范、变量定义、数据类型、运算符、字符串、循环、条件判断、函数和模块的使用。还涉及到Python中的元素定位与操作,如find_element_by_id等,适合Python初学者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

检查系统是否安装了Python:cmd-Python–显示版本号
Python下载地址:https://www.python.org/downloads/
1、python基础:
1.1代码必须顶格写
1.2.单行注释,以#开头
1.3.1多行注释(取消多行注释)Ctrl+/
1.3.2.三个单引号或双引号,中间是注释的内容,这是多行注释
1.4.如果代码文件中有中文,则在代码文件的首行加入:#coding=utf-8或#--coding:utf-8--
1.5.idle是一个纯 Python 下自带的简洁的集成开发环境(IDE)

2、python的变量:
2.1.变量的定义
变量名=值
2.2.变量的引用:
2.2.1变量引用之前,必须是先定义
2.2.2变量引用时,变量名不能加引号
2.2.3变量名不能是关键字(print,if,for)
2.2.4变量名必须能看出其含义
example2.2.4.1:
#coding=utf-8
xigua = 1.5 #西瓜的单价
num = 8 #购买的西瓜的重量
money = xigua * num #计算应该支付多少钱
print(money)
返回:12.0
#输出支付的金额
print(money)

example2.2.4.2:
p=int(input(‘please input the unit price:’))
num=int(input(‘please input number:’))
price=p*num
print(price)

3、算术运算:
+:加法运算
-:减法运算
*:乘法运算
/:除法运算
%:取余
**:幂值
如果需要改变运算优先级,需要用()

4、比较运算:

!=

<
<=

=

5、数据类型:
5.1字符串:用引号引起来的一串字符
5.2数字:数字(0-9),包含小数
5.3布尔:True和false
5.4数据转换:
int(要转换的数据):将数据转换为数字类型
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5 。 Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)
整型 - int
长整型 - long
浮点型 - float
复数型 - complex
str(要转换的数据):将数据转换为字符串类型

6、逻辑运算:
6.1and:并且,都为True,则结果为True
6.2or:或者,有一个为True,则结果为True
6.3not:非,取反

7、条件判断:当条件为True,则执行if语句内部子句
7.1语法:
if 条件:
语句

#注意:if语句条件后必须有:
if的子句,必须缩进
input(提示信息):该函数的取值为字符串类型

7.2 if 条件:
语句1
else:
语句2
当if的条件为真时,执行语句1,否则,执行语句2

example7.2.1:
l=str(input(‘请输入你的名字’))
if l==‘林西’:
print(“爱了”)
else:
print(‘罢了’)

example7.2.2:
w=input(‘请输入是否下雨了:’)
if w==‘下雨了’:
print(‘雨天’)
else:
print(‘不是雨天’)

7.3 if 条件1:
语句1
elif 条件2:
语句2
elif 条件3:
语句3
.
.
.
.
else:
语句4

example7.3:
p=int(input(‘请输入你的成绩:’))
if p>=0 and p<60:
print(‘不及格’)
elif p<70:
print(‘及格’)
elif p<80:
print(‘中’)
elif p<90:
print(‘良’)
elif p<=100:
print(‘优’)
else:
print(‘逆天’)

example2:#1剪刀,2石头,3布
p=int(input(‘输入你的状态(1剪刀,2石头,3布):’))
import random
c=random.randint(1,3)
if p1 and c3 or p2 and c1 or p3 and c2:
print(‘玩家赢了’)
elif p1 and c2 or p2 and c3 or p3 and c1:
print(‘电脑赢了’)
else:
print(‘平局’)

if的嵌套:
语法:
if 条件1:
if 条件2:
语句
example:ticket=1#0表示已买票,1表示未买票
check=0#0表示安检通过,1表示安检未通过
if ticket0:
if check
0:
print(‘请上车’)
elif check1:
print(‘安检未通过’)
elif ticket
1:
print(‘未买票’)
8、while循环:
语法:
while 条件:
语句
说明:当条件为真时,执行循环体,直到条件为假的时候,循环结束
在循环体中,要注意控制循环条件,否则会死循环
example1:#输出从1到100的数字
i=0
while i<=100:
i=i+1 #运算顺序把右边运算结果赋值给左边
print(i)
返回:1~101

#print位置不同的区别
i=0
while i<=100:
print(i)
i=i+1
返回:1~100
example2:#求1~100的和
i=0
s=0
while i<=100:
#i=i+1 #放在这加到101
s=s+i
i=i+1
print(s)
返回:0,1,3,6,10,15,21···4656,4753,4851,4950,5050

#print位置不同导致返回结果不同
i=0
s=0
while i<=100:
#i=i+1 #放在这加到101
s=s+i
i=i+1
print(s)
返回:5050
example3:#分别求1~100奇数和偶数的和
i=1
j=2
si=0
sj=0
while i<=100:#不需要i<=100 and j<=100因为只要i<=100这个条件不满足,则整个循环体都会结束
si=si+i
i=i+2
sj=sj+j
j=j+2
print(‘0~100奇数的和:’)
print(si)
print(‘0~100偶数的和:’)
print(sj)

#法二
i=0
sj=0
so=0
while i<=100:
if i%2==0:
so=so+i
elif i%2!=0:#或else:
sj=sj+i
i=i+1
print(‘0~100奇数的和为:%d,偶数的和为:%d:’%(sj,so)) #%d占位符

9、for循环:
语法:
for 变量 in 列表:
语句

每次for循环执行时 ,将列表中每个值,赋给变量,每取一次列表中的值,循环体就会执行一次
直到列表中值被取完
10、跳出循环:
break:结束循环
continue:结束本次循环,继续下一次的循环
11、字符串:
字符串的访问:
1.下标访问:
字符串[下标位置]:取出指定下标位置的字符
2.切片访问
字符串[开始位置:结束位置:步长]:从开始位置 到结束位置-1,按每隔步长来取字符
example1:s=‘1234567890’
print(s[0:10:2])
返回:13579
example2:s=‘1234567890’
print(s[1:9:2])
返回:2468
3.字符串[::-1]:字符串反转(从最后一位,往前取)
example:s=‘1234567890’
print(s[::-1])
返回:0987654321
常用的字符串函数:
len(字符串):返回该字符串的长度
min(字符串):返回字符串中最小值(字符串中的字符必须相同类型?)
max(字符串):返回字符串中最大值(字符串中的字符必须相同类型?)
常用方法:
object.index(‘字符’):返回该字符在字符串中的下标位置,如果有多个,则默认返回第一个
object.fiind(‘字符’):与index类似,区别是find找不到,则返回-1,index报错
object.count(‘字符’):统计字符在字符串中出现的次数,找不到返回0
object.split(‘字符’):按指定字符,对字符串进行分割,返回一个列表对象
example:s=‘abcdefghi123a’
print(len(s))
print(s.index(‘3’))
print(s.find(‘3’))
print(s.count(‘a’))
print(s.split(‘b’))
返回:13
11
11
2
[‘a’, ‘cdefghi123a’]

12、序列:
12.1 列表:用[]括起来的一组数据的集合,每一个数据,称为元素,元素与元素之间用(,)隔开。
例如:list_a=[‘zhangsan’,‘lisi’,‘wangwu’]
列表的访问:
1.下标访问
列表对象[下标位置]:根据下标位置,获取对应的元素,如果下标值超过列表对象最大下标值,则出现下标越界异常
2.切片访问
列表对象[开始值:结束值:步长]:根据开始和结束值-1,按步长获取列表中的元素
example:list_userinfo=[‘zhangsan’,‘lisi’,‘wangwu’,‘zhaoliu’]
print(list_userinfo[0:3:1])
返回:[‘zhangsan’, ‘lisi’, ‘wangwu’]
3.循环遍历:
使用for循环遍历整个列表
example:list_userinfo=[‘zhangsan’,‘lisi’,‘wangwu’,‘zhaoliu’]
for i in list_userinfo:
print(i)#缩进!括弧为英文状态下的!
返回:zhangsan
lisi
wangwu
zhaoliu
元素的修改:
列表对象[下标位置] = ‘new value’/数字(不需要单引号):将指定下标位置的元素的值修改为new value/数字
example1:list_a=[‘sdh’,‘fdh’,‘q’]
list_a[1]=‘o’
print(list_a)
返回:[‘sdh’, ‘o’, ‘q’]
example2:list_a=[‘sdh’,‘fdh’,‘q’]
list_a[1]=2
print(list_a)
返回:[‘sdh’, 2, ‘q’]
常用函数:
len(列表对象):返回列表的长度
min(列表对象):返回列表中的最小值,列表中的数据必须一致
max(列表对象): 返回列表中的最大值,列表中的数据必须一致

常用方法:
列表对象.index(‘元素’):返回该元素在列表中的下标位置
列表对象.count(‘元素’):返回该元素在列表中出现次数
列表对象.append(‘元素’):在列表的末尾加入该元素
example:list_userinfo=[‘zhangsan’,‘lisi’,‘wangwu’,‘zhaoliu’,‘o’,‘a’,1]
list_userinfo.append(‘x’)
print(list_userinfo)
返回:[‘zhangsan’, ‘lisi’, ‘wangwu’, ‘zhaoliu’, ‘o’, ‘a’, 1, ‘x’]
列表对象.insert(下标位置,‘元素’):将元素插入到列表中指定的下标位置
example:list_userinfo=[‘zhangsan’,‘lisi’,‘wangwu’,‘zhaoliu’,‘o’,‘a’,1]
list_userinfo.insert(2,‘y’)#在列表指定下标位置加入元素
print(list_userinfo)
返回:[‘zhangsan’, ‘lisi’, ‘y’, ‘wangwu’, ‘zhaoliu’, ‘o’, ‘a’, 1]
列表对象.extend(列表1):将列表1追加到列表末尾(没有返回值,print显示None)
example:list_a=[‘sdh’,‘fdh’,‘q’]
list_userinfo=[‘zhangsan’,‘lisi’,‘wangwu’,‘zhaoliu’,‘o’,‘a’,1]
list_userinfo.extend(list_a)
print(list_userinfo)
返回:[‘zhangsan’, ‘lisi’, ‘wangwu’, ‘zhaoliu’, ‘o’, ‘a’, 1, ‘sdh’, ‘fdh’, ‘q’]
列表对象.pop([下标位置]):删除列表对象中的元素,若下标位置不填则默认删除最后一个。
若指定了下标位置,则删除指定下标位置的元素。并且会将删除的元素返回
example1:list_userinfo=[‘zhangsan’,‘lisi’,‘wangwu’,‘zhaoliu’,‘o’,‘a’,1]
print(list_userinfo.pop())
返回:1
example2:list_userinfo=[‘zhangsan’,‘lisi’,‘wangwu’,‘zhaoliu’,‘o’,‘a’,1]
list_userinfo.pop(2)
print(list_userinfo)
返回:[‘zhangsan’, ‘lisi’, ‘zhaoliu’, ‘o’, ‘a’, 1]

列表对象.remove(‘元素’):删除列表中指定的元素,没有返回值
example:list_userinfo=[‘zhangsan’,‘lisi’,‘wangwu’,‘zhaoliu’,‘o’,‘a’,1]
list_userinfo.remove(‘lisi’)
print(list_userinfo)
返回:[‘zhangsan’, ‘wangwu’, ‘zhaoliu’, ‘o’, ‘a’, 1]
12.2 元组:与列表类似,区别是元组是用()括起来的,元组中的元素不能修改和删除
元组的访问:
t_test = (‘test’,‘zhangsan’,‘lisi’,‘wangwu’)
1.下标访问
t_test[下标位置]:返回指定下标位置的元素
2.切片访问
t_test[开始:结束:步长]:
12.3 字典:用{}括起来的一组数据,数据是以key和value组成,一个元素是由一个key和 value组成,:前面的是key,后面的是value
dict_t = {‘usernmae’:‘zhangsan’,‘password’:‘123456’,‘email’:‘t@ta.com’}
字典的访问:
字典名称[‘key’]:根据给定的key,返回key对应的value
字典名称[‘key’] = value:将 该key对应的值修改为value
常用方法:
字典对象.get(key):根据给定的key,返回key对应的value
字典对象.items():返回该字典中所有元素
字典对象.keys():返回所有的key
字典对象.values():返回所有的value
字典对象.pop(key):根据指定的key,删除元素,并返回key对应的value
字典对象.popitem:随机删除字典中的元素
13、函数:
为完成一个特定功能的一组代码的集合
提高代码的重用性,使代码更加简洁
1.函数的定义:
def 函数名([参数,…]):
函数体
2.函数的调用:
函数名()

3.变量 的作用域:
局部变量:
函数内部声明的变量,只在函数内部有效
全局变量:
在函数外部声明,在所有函数中都可以调用,但是正常情况下,函数不能 修改变量
除非将其声明为globle
4.return语句:
将指定结果返回给调用者,但是紧跟其后不要再有代码,因为代码执行到 return,函数就已经结束,所以后面代码不会再执行
return 任意值
5.传参:
1.必选参数:def fun1(a,b):参数a和b则为必选参数
2.默认值参数:def fun2(a,b=0):参数a为必选,参数b为默认
3.关键字参数:调用函数时,指定参数的取值,例如: fun1(b=1,a=5)
4.收集参数:def fun3(a,b,*args):如果传入的参数个数大于必选参数 个数,则多余的参数给args,args以元组的形式保存
14、模块:
模块是指保存代码的文件的文件名,这个文件名就是模块名(不包含文件后缀)。
我需要一个函数帮我完成提取字符串中的数字
那我就需要把包含get_num_from_string这个函数文件导入过来
我们用import 文件名(模块名)
接下来我们就可以通过这个模块名访问这个模块中函数了
模块名.函数名 来引用

?能不能像在模块内调用函数 方法 函数名()
可以,你需要修改import语句为:from function_01 import get_num_from_string
这样就可以调用了,但是使用import和from有什么区别

如果是import 模块名,则可以通过模块名访问该模块中的所有对象
如果from 模块名 import 函数名 只能访问import的函数

它是怎么找到你要引入的模块的呢?
1、在当前目录中查找指定模块
2、查找python安装目录下的Lib目录
3、通过PYTHONPATH环境变量来查找
15、包:存放模块文件的目录就称为包,与目录的区别在与包中有个__init__.py的文件

16、selenium:
16.1:元素定位
find_element_by_id(‘id的值’):根据元素的id属性值,定位元素
find_element_by_name(‘name的值’):根据元素的name的属性 值定位
find_element_by_class_name(‘class的值’):通过元素的class属性的值定位
find_element_by_link_text(‘页面显示的文字’):根据页面显示的文本进行定位
find_element_by_partial_link_text(‘部分显示 文字’):根据页面部分文本内容定位
find_element_by_tag_name():根据给定的标签名称定位
find_element_by_css_selector(‘css选择器’):根据css选择器定位元素
find_element_by_xpath():根据xpath路径定位元素
16.2 元素的操作
send_keys(‘内容’):将内容输入到指定的元素中
click():点击指定的元素
text:获取页面显示的文本
16.3 页面等待:
1.sleep(时间/秒):当代码执行到这里,会暂停你给的时长
2.implicitly_wait(时间/秒):在页面加载过程中,每间隔0.5秒会判断页面是否加载完成,如果没有加载完成,则会在下一个0.5秒再次检查,直到页面加载完成或在 给定的时间内没有加载完成

16.4 单选按钮的处理

16.5 下拉框的处理

16.6 提示框的处理

16.7 多层框架的处理

16.8 多窗口处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值