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

第2章(新)Day2 - Python基础入门

2.1 课程介绍

基本语法

变量

基本数据类型

运算符

2.2 环境切换

2.3 语句分隔符

分号(可用但不推荐)、换行、缩进

2.4 注释

# 单行注释'''
多行注释
多行注释
多行注释
'''"""
多行注释
多行注释
多行注释
"""

2.5 PEP 8规范

PEP 8是Python的官方代码风格指南,旨在提供一致、易于阅读和易于维护的Python代码

PEP 8规范包括以下方面:

1、缩进:使用四个空格表示缩进

2、行长:每行代码不应超过79个字符

3、命名规范:变量名应以小写字母开头,使用下划线分隔多个单词;

类名应以大写字母开头,使用驼峰命名法

4、空格:在运算符两侧、逗号后以及冒号后应添加空格

5、注释:注释应该清晰、简洁,使用英文书写。注释应该说明代码的作用,而不是如何实现

6、函数和类:函数和类之间应该用两个空行分隔

7、导入:每个导入应该单独成行、避免使用通配符导入

8、括号:在函数调用和定义中,括号内部应该没有空格

除此之外,PEP 8还涵盖了代码布局、字符串引号、空行、文件编码等方面的规范

遵守PEP 8规范可以增加代码的可读性和可维护性,这对于团队开发、代码重构和代码维护都非常有帮助。建议Python开发者遵守这些规则,以便与其他Python开发者协作,并使代码更易于理解和维护

Pycharm代码格式化的快捷键默认为:【Ctrl + Alt + L】

2.6 变量初识

借助变量存放数据,可以避免数据反复开辟和释放内存空间,待到程序结束后统一释放

2.7 变量值多次使用

其实就是赋值,将计算结果赋给变量保存起来,方便后续继续使用

2.8 变量值修改v2

变量只能指向一个值,因此可以通过对变量重新赋值的方式来覆盖原有的值,修改为新的值

2.9 变量命名规范

1、变量名只能包含字母、数字和下划线,不能以数字开头

2、变量名不能使用保留字(如if、else、while等等)

print = 100
print("hello")# TypeError: 'int' object is not callable

3、变量名应该具有描述性,以便代码的可读性更高,例如在代码中使用的名称应该清晰、简介、有意义,避免使用缩写或单个字符

4、变量名应该遵循一定的命名,例如使用小写字母、下划线分隔单词的方式(如my_variable_name)

2.10 整型和浮点型

print(type(7))
# <class 'int'>print(type(3.14))
# <class 'float'>

2.11 布尔类型

基本数据类型之一,用于表示真和假

保留字:【True】【False】

print(type(True))
# <class 'bool'>print(type(False))
# <class 'bool'>

零值:对每一个数据类型而言,有且只有一个零值,其bool状态为False

对于整型int和浮点型float而言,零值为0

对于字符串str而言,零值为""

但对于字符串"0"而言,其并非空串,因此bool状态为True

对于列表list而言,零值为[]

对于字典dict而言,零值为{}

对于元组tuple而言,零值为()

对于集合set而言,零值为set()

bool(0)
# Falsebool(0.0)
# Falsebool("")
# Falsebool("0")
# Truebool([])
# Falsebool({})
# Falsebool(())
# Falsebool(set())
# False

2.12 创建字符串

用于表示文本数据。字符串可以看作是由一系列字符组成的序列,每个字符可以是字母、数字、符号或其他字符

在计算机程序中,字符串通常用一对单引(' ')或一对双引号(" ")

一些编程语言(python)还支持用三重引号(''' ''')、(""" """)来表示多行字符串

三引号在打印时可将变量内的换行和缩进原样输出

多行字符串在并未进行赋值变量时,即可作为注释使用

因此有一种说法是,python并不像其他语言有专门的多行注释语法(如 /*    */),是通过多行字串搭配引用计数的垃圾回收机制来等效出的多行注释

字符串三个应用:展示文字、存储数据、传输字节

字符串操作

基本操作:转义符,格式化输出

序列操作:索引、切片

内置方法:upper

2.13 字符串的转义符

在python中,字符串的转义是指在字符串中使用特殊的字符序列来表示一些特殊字符。

字符串的转义符是反斜杠【\】

1、将某些普通符号给予特殊功能

【\n】换行符

2、将一些特殊功能的符号普通化

【\'】单引号

【\\】反斜杠

2.14 格式化输出

name = 'Jerry'
age = 19
height = 180print("姓名%s, 年龄%d岁, 身高%dcm" % (name, age, height))
print(f"姓名{name}, 年龄{age}, 身高{height}cm")

2.15 字符串序列操作一

序列:容器+有序;能存放更细分的类型内容,且按顺序存放

字符串属于序列类型,所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在的位置编号(称为索引)访问他们

正索引:0,1, 2,3,4,5,6

负索引:-7,-6,-5,-4,-3,-2,-1

s = "str_str_str"

使用【s[index]】可以取出对应位置的字符

使用【s[start_index : end_index]】可以取出对应的字符串切片

切片操作还有个不常用的参数,叫步长step,[start_index : end_index : step],缺省时默认为1,即正序

正序切片操作中不论index使用的是正索引还是负索引,必须start_index在左边,end_index在右边

当步长设为负数,反向切片,此时必须start_index在右边,end_index在左边

缺省start_index从头取,缺省end_index取到末尾

s[:]表示全部切片,s[::-1]表示全部倒序切片

2.16 字符串序列操作二

加号拼接,必须都是字符串类型,不能直接拼接数字类型

s1 = "hello"
s2 = "world"s = s1 + ' ' + s2

乘号复制

s = '*' * 100

内置函数len()求长,容器类型均可用

s = "hello world"
len(s)
# 11s = "你好 世界"
len(s)
# 5

内置判断 in 存在,容器类型均可用

s = "hello world""hello" in s
# True"world" in s
# True"o w" in s
# True"worlds" in s
# False

2.17 输入输出函数

输入函数input()用于从标准输入(键盘)读取一个用户输入的字符串,并将其返回

可以通过可选的提示字符串来提示用户输入

input()函数是阻塞函数,程序执行至此会阻塞等待,直至用户完成输入动作,向下继续执行

但是input读入的参数永远会被当做str类型处理

num1 = input()
num2 = input()100
200print(num1 + num2)
# 100200

print函数中,sep参数设置打印分隔符,end参数设置结尾字符

2.18 字符串内置方法一

upper()、lower() 生成新值 不影响原值

startswith()、endwith() 判断是否以参数字符串开头、结束

2.19 字符串内置方法二

isdigit()判断是否为纯数字字符串

strip()生成新的字符串,去除字符串首尾两端的空格和换行符

2.20 字符串的内置方法三

split()将字符串按分隔符拆分至列表

join()将列表内的字符串使用连接符拼接

find()查找目标字符串在原字符串的开始位置,若找不到则返回-1

index()查找目标字符串在原字符串的开始位置,若找不到则抛出异常

count()查找目标字符串在原字符串中的出现次数

replace()生成新的字符串,把原字符串中的目标字符串替换成新的值,可以指明替换次数

2.21 运算符一

求余运算符 %

自加运算符 +=

自减运算符 -=

2.22 运算符二

逻辑运算符 and or not

http://www.xdnf.cn/news/662959.html

相关文章:

  • 【图论 并集查找】P3671 [USACO17OPEN] Where‘s Bessie? S|普及+
  • python打卡训练营打卡记录day37
  • 自驾总结Module(综述)
  • CN 第二章 应用层-判断题
  • uniapp-商城-70-shop(3-商品列表,点击规格,进行属性选择)
  • AI巡检系统适合多大面积的餐厅?
  • lc hot 100之:找到所有数组中消失的数字
  • SQL:合并查询(UNION)
  • DL00347-基于人工智能YOLOv11的安检X光危险品刀具检测含数据集
  • 报文完整性与数字签名
  • 【修电脑的小记录】打不开某个网站
  • Linux `ls` 命令深度解析与高阶应用指南
  • Mysql数据库之日志与备份
  • 论坛系统自动化测试实战
  • SpringAI--RAG知识库
  • Windows中安装Neo4j图数据库的配置
  • 数据架构:零售业数字化转型的“隐形引擎”
  • 什么是软件验收测试,出验收测试报告的软件检测机构推荐
  • MySQL问题:数据库有哪些存储引擎,它们有什么区别?
  • Jenkins部署
  • 小型电磁脉冲干扰(EMP)的原理及组成
  • L1-111 大幂数 - java
  • day37打卡
  • 二、网络安全常见编码及算法-(1)
  • 爱芯元智芯片推理cn-clip
  • 11.10 LangGraph状态管理实战:Reducers模式如何重塑企业级多节点协作?
  • 云化全场景+AI智算双擎驱动,打造高教数智化转型新范式,麒麟信安闪耀第63届高等教育博览会!
  • Linux基础IO----动态库与静态库
  • MQTT 在云平台与设备通讯中的连接特性与通讯性质深度解析
  • 网络原理与 TCP/IP 协议详解