当前位置: 首页 > news >正文

Python入门(一)

目录

一、Python数据类型

1.字面量

2.注释

3.变量

4.数据类型 

二、 运算符

1.数据类型之间的相互转换

2 算数运算符

3、逻辑运算符 

三、判断语句 if

 四、循环

1、while循环

2、for循环

2.1 for...else...

五、格式化字符串

1.字符串

1.1创建字符串的方式(字符串赋值):

1.2通过input()方法

2.字符串拼接

方式1:使用加号。

方式2: 使用f ' '     

 3.字符串操作

3.1 下标

 3.2 切片

 4.字符串方法

find():

replace():替换

split(): 按照指定字符分隔字符串 

大小写转换

去掉字符串空格

判断字符串是否以某个字符串为前缀或后缀

判断某个字符串中是否包含另一个字符串


一、Python数据类型

1.字面量

在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation

通俗的说就是: 写在代码中的固定的值, 叫做字面量.
常见的字面量类型: 整数, 浮点数, 字符串.

2.注释

在python使用 # 作为对代码的解释, 即注释.

在python中可以使用三引号("""  """)来作为多行注释. (单的双的都行)

还有todo注释,了解即可

3.变量

在python中定义变量是不需要指定类型的.

变量名称 = 值           等号(=) 赋值, 将等号右边的值赋予等号左边的变量.

变量名称即: 变量名, 代表变量本身.

  • 变量的值是可以改变的.

  • 变量是可以重复使用的.

变量名的命名规则: 变量名要起的见名知意

变量名必须以字母或下划线字符开头
变量名称不能以数字开头,但是可以以数字结尾
变量名只能包含字母数字字符和下划线(A-z、0-9 和 _)(约定, 并不是强制.)
变量名称区分大小写(age、Age 和 AGE 是三个不同的变量)
不可使用关键词作为变量名

4.数据类型 

类型说明
字符串(string)描述文本的一种数据类型, 由任意的字符组成
整型(int)整数 如 1, 2, 3, 4…
浮点型(float)浮点数, 如 12.34, 3.14
布尔型(bool)即真和假, 在python中True表示真, False表示假, 非0即真
复数型(complex)主要用于科学计算
列表(list)有序的可变的元素序列, 使用最频繁的一种类型
元组(tuple)有序的不可变的元素序列
集合(set)无序的不重复集合
字典(dict)无序的key-value集合

以上的数据类型包含的python的所有的数据类型, 后面会详细讲解字符串、列表、字典、元组等类型

那么如何查看数据类型呢?

在python中提供了一个type()方法查看数据类型.


二、 运算符

1.数据类型之间的相互转换

函数说明
int(a)将a转换为一个整数
float(a)将a转换为一个浮点数
str(a)将a转换为一个字符串

PS: 任何类型都可以转换成字符串.

但是不是所有类型都可以转换成int.
int是可以转换为float的.
float也可以转换为int,但是会丢失精度.

2 算数运算符

算数运算符说明示例
+表示2个元素相加, 可用于字符串的拼接2+3
*表示2个元素相乘, 字符串可以和数字相乘2*3
-表示2个元素相减3-2
/表示2个元素相除4 / 2
//数字之间取整除9 // 2 = 4
%数字之间取余数9 % 2 = 1
**2**4

PS: 字符串可以和数字相乘:

a = '666' * 3
print(a) # 666666666

特别注意的三个赋值运算符 

%=取余赋值运算a %= b 等效于 a = a % b
**=幂赋值运算a **= b 等效于 a = a ** b

相当于a的b次方 

//=整除赋值运算a //= b 等效于 a = a // b

3、逻辑运算符 

运算符逻辑表达式描述实例
and
x and y
布尔 " " :如果 x False x and y 返回
False ,否则返回 y 的值
True and False ,返回 False,有一个假即为假
orx or y
布尔 " " :如果 x True ,它返回 True ,否则
返回 y 的值
True or False, 返回 True--
一个真即为真
notnot x
布尔 " " :如果 x True ,它返回 False 。如果
x False ,它返回 True
not True ,返回 False not
False ,返回 True

三、判断语句 if

if 条件:条件成立执行的代码1条件成立执行的代码2......
if True:print('条件成立执行的代码1')print('条件成立执行的代码2')
# 下方的代码没有缩进到if语句块,所以和if条件无关
print('我是无论条件是否成功,都要执行的代码')

 

if 条件:条件成立执行的代码1条件成立执行的代码2......
else:#隐藏条件条件不成立执行的代码1条件不成立执行的代码2......
if 条件1:条件成立执行的代码1条件成立执行的代码2....
elif 条件2:条件成立执行的代码1条件成立执行的代码2....
elif 条件3:----
elif 条件4:-----
else:   # else写不写都可以 语法上面不强制必须要写else
以上条件都不成立执行的代码

 四、循环

1、while循环

while 条件:条件满足时,做的事情 1条件满足时,做的事情 2条件满足时,做的事情 3...(省略)...

2、for循环

用于 遍历循环
for 临时变量 in 序列:重复执行的代码1重复执行的代码2...str1 = 'testfan'
for i in str1:print(i)

2.1 for...else...

for 临时变量 in 序列:重复执行的代码......
else:循环正常结束之后要执行的代码
所谓 else 指的就是循环正常结束之后要执行的代码,即如果是 break 终止循环的情况下, else 下方缩进的代码将不会执行


五、格式化字符串

1.字符串


字符串是 Python 中最常用的数据类型. 在python中, 引号之间的字符, 都是字符串.

1.1创建字符串的方式(字符串赋值):

单引号.
双引号.

三引号: 之前在注释的章节, 在python中三引号可以作为多行注释来用, 但是三引号内的本质上还是字符串, 如果使用变量去接受这个三引号的值, 那么这个变量的类型就是str

其中三引号可以用来定义内容有多行的字符串:

letter = '''刘总:
  您好!
  您简直是个大帅哥
              2025年5月6日'''
print(letter)

1.2通过input()方法

python 中,使用 input() 接收用户输入。
username = input('请输入用户名:')
print(type(username))
print(f"您输入的名字是{username}")

2.字符串拼接

方式1:使用加号。

var1 = '字符串'
var2 = str(1)
print(var1 + var2)
print(type(var1 + var2))
要求:各个变量或者元素必须是字符串类型

 经典误区:

print 打印时使用 , (逗号)不是字符串合并
print ' ',' '

方式2: 使用f ' '     

(需要python解释器是3.6之后的版本)

var = '字符串'
name = f'我是{var}'
print(name)
print(type(name))

 3.字符串操作

索引是从 0 开始的整数
正着数 0 开始
逆着数 -1
数据类型分为可变和不可变数据类型

不可变类型(数字,字符串,元组):不支持原址(内存地址)修改

3.1 下标

# 取到不同下标对应的数据
name = 'testfan'
print(name[0])   #t
print(name[1])   #e
print(name[2])   #s
#下标也可以写负数
print(name[-1])  #n
print(name[-2])  #a

 3.2 切片

切片是指对操作的对象截取其中一部分的操作, 字符串,列表,元组 都支持切片
语法
字符串 [ 开始位置下标  结束位置下标  步长 ]
注意:
选取的区间属于左闭右开型,即从 " 起始 " 位开始,到 " 结束 " 位的前一位结束(不包含结束位本身 )
如果不写步长默认是 1.
步长是控制方向的,正数从左往右取负数是从右到左取    我们以字符串为例讲解

s="testfun"
print(s[0]) #第一个字符t
print(s[-1]) #最后一个字符 n   -1下表代表最后一个索引
print(s[::1])  #testfun
print(s[::-1]) #nuftset 反转
print(s[1:6:1]) #中间5个 estfu
print(s[-1:-3:-1])#nu

 小结:

1.[:]   提取从开头(默认位置 0 )到结尾(默认位置 -1 )的整个字符串
2.[start:]  start 提取到结尾
3.[:end]  从开头提取到 end-1
4.[start:end]  start 提取到 end-1
5.[::-1] 逆序

 4.字符串方法

字符串的常用操作方法有 查找,修改和判断 三大类 .
我们在这先提出最必须背下来的几个方法: find()replace()split()

find():

检测某个字符串是否在某个字符串中,如果在,就返回子串开始位置的下标,否则,返回 -1
1.语法
字符串序列 .find ( 子串开始位置下标结束位置下标 )
注意:开始和结束位置下标可以省略,表示在整个字符串序列当中查找
s='hello world and testfan and shamo'
#我想找到这个字符串中and单词第一次出现的位置
index=s.find('and')
print(index)      #12
#找到后半段第一次出现and的位置
index=s.find('and',int(len(s)/2),-1)
print(index)     #24
#找到第二次出现and的位置
index=s.rfind('and')
print(index)     #24print(str.find('ands')) # -1

replace():替换

语法

字符串序列.replace(旧子串,新子串,替换次数)

注意:替换次数如果超出子串出现的次数,则替换次数为该子串出现的次数

s='hello world and testfan and shamo'
#把and替换成or
s1=s.replace('and','or')   #替换会生成新的字符串,不会直接修改原始字符串
print(s1)
#只替换第一个and
s2=s.replace('and','or',1)  #1代表替换次数 从左往右
print(s2)

注意:数据按照是否能直接修改分为可变类型和 不可变类型两种。字符串类型的数据修改的
时候不能改变原有字符串,属于不能直接修改数据的类型即是不可变类型。

split(): 按照指定字符分隔字符串 

语法

字符串序列 . split ( 分割字符, num )
注意: num 表示的是分隔字符出现的次数,即将来返回数据个数为 num+1

#把字符串拆分成一个个单词
s_list=s.split() #默认按照空格进行分割 得到结果是一个列表
print(s_list)
s='hello*world*and*testfan*and*shamo'
#按照*分割
s_list=s.split('*')
print(s_list)
s_list=s.split('*',3)  #最大分割次数为3
print(s_list)

大小写转换

s='uP'
s=s.lower()  #转小写
print(s)  #up
s=s.upper()
print(s)  #UP

去掉字符串空格

s='      刘bobo    '
s1=s.strip()  #去掉空格
print(s1)
s2=s.lstrip() #去掉左边空格
print(s2)
s3=s.rstrip() #去掉右边空格
print(s3)
s='****刘bobo***'
s4=s.strip('*')
print(s4)

判断字符串是否以某个字符串为前缀或后缀

name='张三三'
print(name.startswith('张')) #判断字符串是否以某个字符串为前缀
#判断后缀
name='张三三_码同学'
print(name.endswith('_码同学'))

判断某个字符串中是否包含另一个字符串

name='张三三'
print('张' in name)
print('张' not in name)

相关文章:

  • 怎样通过API 实现python调用Chatgpt,gemini
  • 爱情的本质是什么--deepseek
  • 20250506联想Lenovo笔记本电脑的USB鼠标失效之后在WIN10下的关机的方法【触摸板被禁用】
  • Hologres x 函数计算 x Qwen3,对接MCP构建企业级数据分析 Agent
  • C++笔记-二叉搜索树(包括key,key/value搜索场景等)
  • 【SDRS】面向多模态情感分析的情感感知解纠缠表征转移
  • Ubuntu开放端口
  • Windows玩游戏的时候,一按字符键就显示桌面
  • C++ 渗透 数据结构中的二叉搜索树
  • Linux:进程间通信---命名管道共享内存
  • Python 脚本打包成可执行的 .exe 文件
  • 【quantity】0 README.md文件
  • JavaScript 到命令和控制 (C2) 服务器恶意软件分析及防御
  • Godhood ID——迈向去中心化AI情商生态系统的第一步
  • 单调栈算法精解(Java实现):从原理到高频面试题
  • 探秘数据中台:五大核心平台的功能全景解析
  • 封装axios,实现取消请求
  • 个人码支付免签系统三网免挂支付宝微信QQ钱包即时到账收款二维码聚合支付源码
  • 可视化图解算法33:判断是不是平衡二叉树
  • 告别异步复杂性?JDK 21 虚拟线程让高并发编程重回简单
  • 央行将增加3000亿元科技创新和技术改造再贷款额度
  • 南方地区强降雨或致部分河流发生超警洪水,水利部部署防范
  • 贵州召开全省安全生产电视电话会议:以最严要求最实举措守牢安全底线
  • 大众、学术和政治三重框架下的“汉末之变”
  • 因雷雨、沙尘等天气,这些机场航班运行可能受影响
  • 人形机器人,最重要的还是“脑子”