云计算百科
云计算领域专业知识百科平台

python基础

python:pycharm(编程),jupyter(学校常用),idle(不方便开发),vsc(c++)

设置:插件,改中文

设置:项目:python解释器:修改解释器

2.1.2节函数:print()函数

1.参数为字符串(用单引号或者双引号引起来的信息),输出字符串。

2.参数为变量名:将变量输出。

3.参数为表达式,print()函数直接写为计算表达式,将计算结果输出。

4.参数为多个参数,print(参数1,参数2,…,参数n)函数中的参数用英文格式的逗号隔开,输出时逗号会变成空格,每个参数可以是不同形式。

5.输出末尾设置,多个print()函数输出,自动换行,如果将两个print()函数连在一起,可以在第一个print()函数中增加一个参数end。

(1).__builtins__
Python 内置模块,包含所有内置函数、异常和类型的名称(如 print()、int、Exception 等)。通常无需显式导入即可使用。
(2). dir() 函数
返回对象的有效属性列表。对 __builtins__ 使用 dir() 会列出当前 Python 环境中所有可用的内置名称。

参数为函数的时候,先将函数执行结束,将函数的结果打印。

2.2节元素名称命名(变量,函数,类)

2.2.1变量名的命名规则(4条规则)

1.大小写字母,数字,下划线,汉字以及它们的组合进行命名

@不在大小写字母,数字,下划线,汉字之内

2.变量名不能数字开头,变量名中间不能有空格

3.变量命不能和保留字(关键词)相同

保留字是编程语言内部已被使用的具有特定功能的名称,可以用print(help('keywords'))代码查询全部的保留字

4.变量名尽量不要与Python内置函数名相同

print不再是函数,相当于一个变量,失去原来函数的作用了

2.2.2赋值语句

python严格区分大小写,大写Else与else不一样,Python是区分大小写的编程语言,else是合法的关键字,用于条件语句(如if-else)或循环语句(如for-else、while-else)。而Else由于首字母大写,会被视为普通标识符而非关键字,直接使用会导致语法错误。

内存条与硬盘严格区分开:硬盘(HDD/SSD)通常以TB为单位(1TB=1024GB),内存条(RAM)以GB为单位(常见8GB-64GB)

多个变量同时赋值:

变量1,变量2,…=数据1,数据2,…

2.3基本数据类型

(每一种数据类型?每一种数据都有各自操作方法?)

2.3.1数据类型介绍

数值类型:整数,浮点数,复数类型

操作符:+  –  *  %(求余数)  /  //(整除)  **(求次幂)

操作符可以与赋值语句结合

增强赋值操作符:赋值语句中的等号和操作符结合在一起,中间没有空格

常见增强操作符:+=,-=,*=,/=,//=,%=,**=,将a赋值为2,则a+=3等价于a=a+3,结果为5,同理a-=3,结果为-1,a*=3,结果为6,a/=3,结果为2,a//=3,结果为0,a%=3,结果为2,a**=3结果为8

字符串类型

字符串一定要用引号引起来:单引号,双引号

''' '''多行字符串

字符串索引:获取字符串的内容,一个字符,字符串[索引号]

字符串切片:获取一个或者多个字符,字符串[下标1:下标2],步长切片[下标1:下标2:步长]

步长:下标1到下标2的字符串中,每隔“步长”个位置就截取一个字符信息。

方向:下标正数,从左往右走,索引号0,1,2,3,4,5;下标负数,从右往左索引号:-6,-5,-4,-3,-2,-1,

字符串函数

len(参数)

功能:用于测量参数的长度,或者统计字符串的个数。

字符串方法

数据.方法名(参数)

(1)str.count(参数1)功能:统计字符串str中参数出现的次数

(2)str.replace(参数1,参数2) 功能:将参数1内容替换成参数2

(3)str.strip(参数)功能:判断str字符串中开头和结尾的字符是否相同,若相同则删除与参数相同的字符。

  (4)   str.split(参数)功能:将字符串str在参数所指位置处进行分隔并组成一个列表

(5)str.join(参数)在参数的每两个字符之间加入字符串str

  (6)   str.format()"字符{}字符{}…''.format(参数1,参数2)

功能:字符串中的{}表示槽,槽用于替换format()的括号中的参数

转义字符(制表符,换行符,换页符,引号)

\\n
换行符,用于在字符串中创建新的一行。
\\t
水平制表符,用于在字符串中插入一个制表符(通常相当于4个或8个空格)。
\\\\
反斜杠,用于在字符串中表示一个实际的反斜杠字符。
\\'
单引号,用于在单引号字符串中表示一个单引号字符。
\\"
双引号,用于在双引号字符串中表示一个双引号字符。
\\r
回车符,将光标移动到当前行的开头。
\\b
退格符,删除前一个字符。
\\f
换页符,用于控制打印机的换页操作。

由于\\会被转义为特殊字符,所以字符串中的\\用\\\\表示

r:表示该字符串为原始字符串,原始字符串会忽略转义字符(如\\n、\\t等),不做转义

2.3.2获取数据类型

type(数据):监测数据类型

<class 'str'>   str表示字符串类型

<class 'int'>   int表示整数类型

<class 'float'> float表示浮点数类型

<class 'list'>   list表示列表类型

2.3.3强制转换数据类型

变量a:初始值为字符串"31415",通过type(a)输出为<class 'str'>
变量b:通过int(a)将字符串转换为整数,值为31415,类型为<class 'int'>
变量c:直接赋值为浮点数1.717,类型为<class 'float'>
变量d:通过str(c)将浮点数转换为字符串,值为"1.717",类型为<class 'str'>

  • 字符串转整数时需确保字符串内容为有效数字格式
  • 浮点数转字符串会保留原始精度
  • 类型转换函数(int(),float(),str())是Python基础类型转换方法
  • 字符串 "3.1415" 包含小数点,直接使用 int() 转换会引发 ValueError。int() 只能转换纯整数字符串(如 "42")或浮点数(如 3.1415 需先转换为浮点再取整)

将字符串先转换为浮点数,再转为整数:

a = "3.1415"
b = int(float(a))  # 先转浮点再转整型
print(type(a), type(b))  # 输出: <class 'str'> <class 'int'>

  • type(a) 显示 <class 'str'>,因为 a 是原始字符串。
  • type(b) 显示 <class 'int'>,通过两步转换后得到整数部分 3。

2.3.4报错信息分析

语法错误(SyntaxError):代码不符合Python语法规则,通常在运行前被解释器捕获。错误信息会指出具体行号和问题位置。

名称错误(NameError):尝试访问未定义的变量或函数。检查拼写错误或变量作用域。

类型错误(TypeError):操作或函数应用于不兼容类型的对象。

索引错误(IndexError):尝试访问序列(如列表、字符串)中不存在的索引。

属性错误(AttributeError):对象没有尝试访问的属性或方法。
键错误(KeyError):字典中访问不存在的键。

导入错误(ImportError):导入模块或模块中特定名称失败。

缩进错误(IndentationError):代码块缩进不正确。

文件未找到错误(FileNotFoundError):尝试打开不存在的文件。

值错误(ValueError):函数接收到正确类型但无效的值。

2.3.5多行处理

代码太长需要写成多行时,可以在需要换行的代码末尾添加一个\\

如下代码:

2.4输入函数input()

input(提示信息)

使用input函数获取用户输入的账单号,并将输入值赋给变量a。提示信息"请在此处输入一个账单号:"会显示在控制台。"

print("正在查询",a,"…",'\\n查询成功!')
输出查询状态信息:
◦ 显示当前正在查询的账单号(变量a的值)
◦ 添加省略号表示查询中
◦ 换行后输出"查询成功!"作为结果提示

批量注释:ctrl+/

3.程序控制语句

3.1.1if语句

Python中的if语句用于条件判断,根据条件的真假执行不同的代码块。基本语法如下:

if 条件:
    # 条件为真时执行的代码
条件可以是任何返回布尔值(True或False)的表达式。若条件为True,则执行缩进块内的代码;否则跳过。

3.1.2布尔值

只有ture和flase两种

3.1.3if+else语句

当需要处理条件不成立的情况时,使用if-else结构:

if 条件:
    # 条件为真时执行的代码
else:
    # 条件为假时执行的代码
 

3.1.4if+elif+else语句

对于多条件判断,使用if-elif-else结构:

if 条件1:
    # 条件1为真时执行
elif 条件2:
    # 条件2为真时执行
else:
    # 所有条件均不满足时执行

elif(即“else if”)允许检查多个条件,按顺序执行第一个为True的代码块。

3.1.5多个elif语句

在编程中,elif是else if的缩写,用于在if语句中检查多个条件。当第一个if条件不满足时,程序会依次检查后续的elif条件,直到找到满足的条件或执行else块。

基本语法:if condition1:
    # 执行条件1满足时的代码
elif condition2:
    # 执行条件2满足时的代码
elif condition3:
    # 执行条件3满足时的代码
else: 

    # 所有条件均不满足时执行的代码

以下是一个根据分数判断等级的示例:
    
 

3.1.6条件判断语句的嵌套

if语句中又嵌套了一个if语句,嵌套语句代码块需要整体缩进。对于多重嵌套,每一层都应在上一层的缩进基础上再缩进一级,通常使用4个空格或1个制表符(Tab)作为一级缩进。超过三层嵌套时应考虑重构代码。

3.1.7多个条件判断语句

一次判断多个条件时,可以用保留字and和or

条件A and 条件B…

条件A or 条件B…

3.1.8if+else语句的复合写法

表达式1 if 条件判断语句 else 表达式2

若条件判断句满足,执行表达式1,否则执行表达式2

3.2循环语句

3.2.1for循环

Python中的for循环用于遍历序列(如列表、元组、字符串)或其他可迭代对象。

基本语法如下:

for 变量  in 循环内容:
    # 执行代码块

使用for循环可以方便地遍历列表中的每个元素,字符串也是可迭代对象,可以逐个字符遍历

range() 函数功能:range()函数常与for循环配合使用,生成一个数字序列

range(参数1,参数2,参数3)

for i in range(4,8,2):
    print(i)  # 输出4,8

步长为:2

for循环的复合写法

[表达式 for 变量 in 循环内容]

在大多数编程语言中,for循环的标准语法通常包含初始化、条件判断和迭代三个部分:

for i in range(0, 10, 2):
    print(i)

for循环的嵌套
import time
for i in range(60):
    for j in range(60):
        time.sleep(1)
        print('当前时间为{}分:{}秒'.format(i,j))
    print('1分钟结束')
print('程序结束')

 

3.2.2while循环

while 条件判断表达式:

代码块

3.2.3嵌套循环

break打断循环

continue跳过循环

while True:
  try:
      n = int(input('请输入1个整数:'))
      d = 3/n
      print(n,d)
      break
  except:
      print('你输入的数字不正确')
print('继续执行后面的代码')

3.3异常处理语句

3.3.1异常处理语句使用

try:   

    代码块1

except:

    代码块2

3.3.2异常捕获

输入1w后出现ValueError错误,因为Int()无法将1w转化为整数

输入0后出现ZerodivisionError(零除错误)

用try+except捕获指定的异常错误类型

项目实例:实现模拟超市收银系统

项目任务:

设计一个代码程序,用于实现在营业员输入白菜重量之后自动计算出顾客需要支付的金额

项目实现代码:

while True:
try:
weight = float(input("请输入白菜的重量:"))
break
except:
print("输入错误,重新输入,",end='')
if weight < 2.0:
print("请付款:",weight*2.5*0.9,'元')
elif weight < 4.0:
print("请付款:",weight*2.5*0.8,'元')
elif weight <10.0:
print("请付款:",weight*2.5*0.6,'元')
else:
print("请付款:",weight*2.5*0.4,'元')

4.组合数据类型

4.1.1列表类型介绍

列表相当于一个容器[元素1,元素2,元素3,…]

4.1.2获取列表元素

索引获取列表元素:list[i]

切片获取列表元素:list[开始位置 : 结束位置 : 步长]

顾头不顾尾(左闭右开):
包含“开始位置”的元素。
不包含“结束位置”的元素。
例如:[1:4] 拿的是索引 1、2、3 的元素,不拿索引 4。
参数可以省略:
如果省略“开始位置”,默认从 0 开始(或根据步长决定)。
如果省略“结束位置”,默认切到列表末尾(或根据步长决定)。
如果省略“步长”,默认为 1(逐个取)。
步长(Step)的妙用:
步长为正数:从左往右取。
步长为负数:从右往左取(常用于反转列表)。

4.1.3嵌套列表的索引方法

因此当列表中包含多层子列表时,取最内层子列表中的元素的方法为ls[索引号][索引号][索引号]当列表ls中包含子列表,且子列表中又包含子列表时,获取子列表中的子列表的元素的方法为ls[索引号][索引号][索引号]…

4.1.4循环访问列表的元素

4.1.5列表类型的函数

因为 list() 函数不能直接将整数转换为列表。b=12 是一个整数,list(b) 会抛出 TypeError,因为整数不能直接转换为列表。

4.1.6列表类型的方法

append(参数)方法

功能:在列表的最后增加一个元素

clear()方法

功能:清除列表中的所有元素,括号中无需填入参数

copy()方法

功能:复制一个新的列表

count(参数)方法

功能:统计参数在列表中的个数

index(参数)方法

功能:获取参数在列表中的索引号

insert(参数1,参数2)方法

功能:在列表索引号为参数1的位置处插入一个元素,其插入的元素内容为参数2

pop(参数)方法

功能:删除列表中索引号为参数的元素

remove(参数)方法

功能:删除列表中第一次出现的参数元素

reverse()方法
功能:翻转列表
sort(参数)方法
功能:对列表进行排序

4.2元组类型

元组类型(元素1,元素2,元素3,…)

元组数据一旦被创建,就不能修改,为了安全

4.3字典类型

4.3.1字典类型的介绍

字典:存储用户信息

列表:[张三,李四,王五。。。]

{键1:值1,键2:值2,键3:值3,…}三个键值对,三个数据元素

字典类型最大的特点:没有序号

4.3.2获取字典元素

不能用索引或者切片,要用键来获取

4.3.3字典类型的方法

print(dir(dict))

clear()方法

功能:清除字典中的数据元素,删除整个字典用保留字del

get(参数1,参数2)方法

功能:查找参数1是否为字典中的键。如果是字典中的键,返回键对应的值,如果不是字典中的键,返回参数2的值,若参数2没有内容:返回None

Keys()方法

功能:获取字典中的全部键信息

赞(0)
未经允许不得转载:网硕互联帮助中心 » python基础
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!