Python基础(二、必备知识,不用背,用用就会了~)

news2024/11/24 16:05:10

一、基础知识

1.标识符

在Python中,标识符是用来标识变量、函数、类、模块或其他对象的名称。一个有效的标识符由字母、数字和下划线组成,且不能以数字开头。Python是区分大小写的,因此myVariablemyvariable被视为不同的标识符。

下面是一些关于Python标识符的规则:

  • 标识符只能包含字母(a-z,A-Z)、数字(0-9)和下划线(_)。
  • 标识符不能以数字开头。
  • 标识符不能是Python的关键字,如ifforwhile等。
  • 标识符对大小写敏感,例如myVariablemyvariable被视为不同的标识符。

以下是一些有效的标识符示例:

my_variable = 42 
name = "John" 
PI = 3.14 
is_valid = True

2.注释及书写规范

1)注释

在编写代码时,添加适当的注释是非常重要的。注释可以帮助其他开发人员理解你的代码,也可以帮助你自己在一段时间后回顾代码时更快地理解其中的逻辑。合理的注释可以提高代码的可读性和可维护性。

单行注释

在Python中,单行注释以#开头,可以跟在一行代码的后面,或者单独作为一行使用。单行注释通常用于解释代码的某一部分或者添加临时的说明。

# 这是一个单行注释
x = 5  # 设置变量x的值为5

多行注释

Python中没有专门的多行注释语法,但可以使用多个单行注释来实现多行注释的效果。另一种常用的方式是使用三引号('''""")来包裹多行文本作为注释。

""" 这是一个多行注释的示例 可以用来解释函数、类或整个代码块 """

2)代码规范

作为一种高级语言,Python有着明确的代码规范,其中最有名的是PEP 8(Python Enhancement Proposal 8)。PEP 8规定了Python代码的书写规范,包括缩进、命名规则、注释等方面。

缩进

在Python中,缩进是非常重要的,它代表着代码块的层次结构。通常情况下,推荐使用4个空格来进行缩进。

if x > 5:
    print("x大于5")
else:
    print("x小于等于5")

命名规则

在Python中,变量名、函数名和类名都应该遵循一定的命名规则。通常来说,变量名使用小写字母,单词之间用下划线连接;函数名和方法名同样使用小写字母和下划线;类名使用首字母大写的驼峰命名法。

user_name = "Alice"  # 变量名
def calculate_sum(x, y):  # 函数名
    return x + y
class MyClass:  # 类名
    pass

注释规范

在编写注释时,应该遵循一定的规范。注释应该清晰、简洁,并且符合代码的逻辑。注释应该描述“为什么”而不是“做了什么”,因为代码本身已经展现了“做了什么”。

避免无意义的注释,例如显而易见的内容或者过时的注释。注释应该与代码保持同步,及时更新和维护。

3.关键字

  • False:布尔值False
  • None:表示空对象或无值
  • True:布尔值True
  • and:逻辑运算符AND
  • as:用于创建别名
  • assert:断言,用于判断条件是否为真,若为假则触发异常
  • async:定义异步函数
  • await:等待异步函数执行完成
  • break:跳出循环语句
  • class:定义类
  • continue:结束当前循环,开始下一轮循环
  • def:定义函数
  • del:删除变量或列表中指定元素
  • elif:else if的缩写,用于多重条件判断
  • else:用于if条件语句的否定条件
  • except:处理异常
  • finally:无论是否有异常都会执行的代码块
  • for:用于循环遍历序列
  • from:从模块中导入指定的部分
  • global:声明全局变量
  • if:条件语句,用于条件判断
  • import:导入模块
  • in:用于检查序列中是否存在某个值
  • is:比较两个对象是否相同
  • lambda:定义匿名函数
  • nonlocal:声明非局部变量
  • not:逻辑运算符NOT
  • or:逻辑运算符OR
  • pass:占位符,不做任何事情的语句
  • raise:触发异常
  • return:用于函数返回值
  • try:尝试执行代码块并处理可能出现的异常
  • while:用于循环执行一段代码直到条件不成立
  • with:用于简化代码块的书写,例如文件操作等
  • yield:生成器的关键字,返回一个迭代器

4.运算符

1)算术运算符

  • 加法运算符(+):用于对两个数字进行相加。
  • 减法运算符(-):用于对两个数字进行相减。
  • 乘法运算符(*):用于对两个数字进行相乘。
  • 除法运算符(/):用于对两个数字进行相除,结果为浮点数。
  • 整除运算符(//):用于对两个数字进行整除,结果为整数。
  • 取模运算符(%):用于获取两个数字相除的余数。
  • 幂运算符(**):用于计算一个数的幂。
def aa():
    a = 10
    b = 3
    print(a + b)  # 输出:13
    print(a - b)  # 输出:7
    print(a * b)  # 输出:30
    print(a / b)  # 输出:3.3333333333333335
    print(a // b)  # 输出:3
    print(a % b)  # 输出:1
    print(a ** b)  # 输出:1000

2)比较运算符

比较运算符用于比较两个值。

  • 等于(==):如果两个操作数相等,则条件成立。
  • 不等于(!=):如果两个操作数不相等,则条件成立。
  • 大于(>):如果左操作数大于右操作数,则条件成立。
  • 小于(<):如果左操作数小于右操作数,则条件成立。
  • 大于等于(>=):如果左操作数大于或等于右操作数,则条件成立。
  • 小于等于(<=):如果左操作数小于或等于右操作数,则条件成立。
def aa():
    x = 10
    y = 20
    print(x == y)  # 输出:False
    print(x != y)  # 输出:True
    print(x > y)  # 输出:False
    print(x < y)  # 输出:True
    print(x >= y)  # 输出:False
    print(x <= y)  # 输出:True

3)逻辑运算符

逻辑运算符用于连接两个或多个布尔表达式。

  • 与运算符(and):如果两个操作数都为True,则条件成立。
  • 或运算符(or):如果两个操作数任意一个为True,则条件成立。
  • 非运算符(not):用于对操作数取反。
def a():
    p = True 
    q = False 
    print(p and q) # 输出:False 
    print(p or q) # 输出:True 
    print(not p) # 输出:False

5.数据类型

整数类型(int)

整数类型用于表示整数值,例如:-50100等。

浮点数类型(float)

浮点数类型用于表示带有小数部分的数值,例如:3.142.71828等。

字符串类型(str)

字符串类型用于表示文本数据,例如:"Hello"'Python'等。字符串可以使用单引号或双引号来表示。

列表类型(list)

列表类型用于存储一组有序的元素,可以包含不同类型的元素,例如:[1, 2, 3]['apple', 'banana', 'orange']等。

元组类型(tuple)

元组类型也用于存储一组有序的元素,但是元组创建后不能被修改(immutable),例如:(1, 2, 3)('a', 'b', 'c')等。

字典类型(dict)

字典类型用于存储键值对(key-value pair)的数据,例如:{'name': 'Alice', 'age': 25}

集合类型(set)

集合类型用于存储独一无二的元素,不包含重复的值,例如:{1, 2, 3, 4}

布尔类型(bool)

布尔类型用于表示逻辑上的真(True)和假(False)值。在条件判断和逻辑运算中经常用到。

6.数据类型转换

在Python中,可以使用内置函数进行数据类型的转换,例如:

x = 10
y = float(x)  # 将整数转换为浮点数
z = str(x)    # 将整数转换为字符串

二、实践

1.练习

新建一个test.py文件,可以尝试将上面的提到的内容都进行测试一下。

代码当中进行了字符串、整数、浮点数的定义,进行了三种拼接方式,是否能找到哪三种呢?

通过input进行获取键盘输入,这样就可以做一些交互式的小游戏了。

def aa():
    trtest = "test"
    numtest = 11
    floattest = 12.1004
    # %s字符串 %d整数 %f浮点数
    name = '%s测试%d拼接%f字符串"' %(trtest,numtest,floattest)
    print(name)
    # %后面加数字调整精度
    name = "%s测试%4d拼接%2.2f字符串'" %(trtest,numtest,floattest)
    print(name)
    # %后面加数字调整精度,四舍五入
    name = """"%s测试%4d拼接%2.0f字符串""" %(trtest,numtest,floattest)
    print(name)
    print('{}测试{}拼接{}字\'符串'.format(trtest,numtest,floattest))
    print(f'{trtest}测试{numtest}拼接{floattest}字符串')
    print(f'2**3结果是{2**3}')
    # type获取对象类型
    print(f'name的格式是{type(name)}')

    # 接受键盘输入内容,input接收到的数据永远是字符串
    name = input('请告诉我你是谁')
    print(f'我是{name}')

 在命令提示符(win+r,cmd)中,切换路径到test.py目录,输入python test.py运行结果如下:

98386bdd3f934401baed1740e7cc8249.png

2.迷失森林小游戏 

import random

def play_game():
    print("你迷失在了一片神秘的森林中...")
    print("你需要找到出口才能逃离这个森林。")

    directions = ["前方", "左侧", "右侧"]
    target_direction = random.choice(directions)  # 随机选择一个方向作为出口

    while True:
        user_choice = input("请选择一个方向(前方/左侧/右侧):")

        if user_choice not in directions:  # 判断用户输入的方向是否合法
            print("请输入有效的方向!")
            continue

        if user_choice == target_direction:
            print("恭喜你,你找到了出口!你成功逃离了森林。")
        else:
            print("很遗憾,这个方向没有出口。继续探索吧。")

        play_again = input("是否再次尝试?(是/否):")
        if play_again.lower() == "是":
            target_direction = random.choice(directions)
        else:
            print("谢谢游玩!")
            break

play_game()

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1297146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis数据已经删除了,为什么内存占用还是很高?

Redis数据已经删除了&#xff0c;为什么内存占用还是很高&#xff1f; Redis做了数据删除操作&#xff0c;为什么使用top命令时&#xff0c;还是显示Redis占了很多内存&#xff1f; 没做相关功课的人觉得这个问题有问题&#xff0c;删了数据还说占着内存&#xff0c;面试官不…

QQ2023备份

需要修改的路径&#xff08;共3处&#xff09; 这三处路径中&#xff0c;只有一处是需要修改的 QQPC端-主菜单-设置-基本设置-文件管理 点击上面的“”自定义“”&#xff0c;然后修改路径即可 修改路径后提示 然后等一会才会关干净QQ的相关进程&#xff0c;关闭后才会有自动…

Windows的C盘爆掉了怎么办?

本文参考&#xff1a; C盘太满怎么办&#xff1f;亲测8种好用方法&#xff01; 如果C盘的分区爆掉了&#xff0c;变红色了&#xff0c;是时候该处理这个问题了&#xff0c;解决你的C盘焦虑&#xff01; 第一招&#xff1a;删除C盘文件 首先你会想到清理C盘里面的文件&#x…

Flink入门之核心概念(三)

任务槽 TaskSlots: 任务槽&#xff0c;是TaskManager提供的用于执行Task的资源&#xff08;CPU 内存&#xff09; TaskManager提供的TaskSlots的个数&#xff1a;主要由Taskmanager所在机器的CPU核心数来决定&#xff0c;不能超过CPU的最大核心数 1.可以在flink/conf/flink-c…

【C++】map/multimap/set/multiset的经典oj例题 [ 盘点&全面解析 ] (28)

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 目录 一.前K个高频单词【mutiset】二.左右符…

云服务器Centos中安装Docker

云服务器Centos中安装Docker 1 简介DockerCentosCentos和Ubuntu区别 2 安装3 测试hello-world的镜像测试 1 简介 Docker Docker是一个开源的应用容器引擎&#xff0c;利用操作系统本身已有的机制和特性&#xff0c;可以实现远超传统虚拟机的轻量级虚拟化。它支持将软件编译成…

虚拟机-桥接模式连接

文章目录 1.查看宿主机再用的IP信息2.桥接模式-虚拟机设置VMware设置虚拟机设置重启网络服务 1.查看宿主机再用的IP信息 ipconfig /all 注&#xff1a; 在虚拟机中要设置同网段的ip设置同一个子网掩码设置同一个网关设置同一个DNS服务器 2.桥接模式-虚拟机设置 VMware设置 虚…

整数在内存中的存储

整数和浮点数在内存中的存储方式是不一样的&#xff0c;今天&#xff0c;我们来具体学习一下 文章目录 整数在内存中的存储浮点数在内存中的存储 整数在内存中的存储 我们在之前就已经了解过了整数有原码&#xff0c;反码&#xff0c;补码的形式&#xff0c;这三种方式都是二进…

cache教程 2.单机并发缓存

0.对原教程的一些见解 个人认为原教程中两点知识的引入不够友好。 首先是只读数据结构 ByteView 的引入使用是有点迷茫的&#xff0c;可能不能很好理解为什么需要ByteView。 第二是主体结构 Group的引入也疑惑。其实要是熟悉groupcache&#xff0c;那对结构Group的使用是清晰…

LangChain学习二:提示-实战

文章目录 上一节内容&#xff1a;LangChain学习一&#xff1a;模型-实战学习目标&#xff1a;提示词及提示词模板的运用学习内容一&#xff1a;什么是提示词&#xff1f;学习内容二&#xff1a;提示词模板2.1 聊天提示模板实战:首先需要声明和定义一个模板实战:把提示词模板放入…

分类预测 | GASF-CNN格拉姆角场-卷积神经网络的数据分类预测

分类预测 | GASF-CNN格拉姆角场-卷积神经网络的数据分类预测 目录 分类预测 | GASF-CNN格拉姆角场-卷积神经网络的数据分类预测分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.GASF-CNN格拉姆角场-卷积神经网络的数据分类预测&#xff08;完整源码和数据) 2.自…

Leetcode2477. 到达首都的最少油耗

Every day a Leetcode 题目来源&#xff1a;2477. 到达首都的最少油耗 解法1&#xff1a;贪心 深度优先搜索 题目等价于给出了一棵以节点 0 为根结点的树&#xff0c;并且初始树上的每一个节点上都有一个人&#xff0c;现在所有人都需要通过「车子」向结点 0 移动。 对于…

os.walk()遍历文件夹/文件

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

智能优化算法应用:基于人工蜂鸟算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于人工蜂鸟算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于人工蜂鸟算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工蜂鸟算法4.实验参数设定5.算法结果6.参考…

Qt槽函数不响应不执行的一种原因:ui提升导致重名

背景&#xff1a; 一个包含了组件提升的ui&#xff0c;有个按钮的槽函数就是不响应&#xff0c;于是找原因。 分析&#xff1a; 槽函数的对应一是通过connect函数绑定信号&#xff0c;二是on_XXX_signal的命名方式。界面上部件的槽函数通常是第二种。 我反复确认细节&#…

正则表达式:字符串处理的瑞士军刀

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

图的搜索(一):广度优先搜索算法和深度优先搜索算法

图的搜索&#xff08;一&#xff09;&#xff1a;广度优先搜索算法和深度优先搜索算法 本章主要记录了图的搜索算法&#xff0c;和可以解决图的基本问题——最短路径问题的算法。本章主要对图搜索的相关算法进行了介绍&#xff1a;广度优先搜索算法、深度优先搜索算法。 下一…

蓝牙物联网开发应用实例|「蓝牙道钉」规范共享单车停放

为进一步改善城市环境&#xff0c;解决共享单车乱停乱放、随意占道等顽疾&#xff0c;引导骑行者文明停放&#xff0c;近期&#xff0c;铜陵市试点启用共享单车“蓝牙道钉”技术。 共享单车“蓝牙道钉”是通过在人行便道的停放区域内安装“道钉”设备&#xff0c;凭借蓝牙高精…

电视节目中活动灭灯系统是如何实现的

活动灭灯系统主要用于各种需要亮灯或灭灯的活动节目&#xff0c;如招聘灭灯、相亲灭灯等。有多种灯光颜色供选择&#xff0c;本设备通过按钮灯软件组合实现&#xff0c;用户可以自己设置亮灯或灭灯规则。 软件功能&#xff1a; 1、后台统一控制亮灯&#xff0c;重新开始下轮…

three.js 入门三:buffergeometry贴图属性(position、index和uvs)

环境&#xff1a; three.js 0.159.0 一、基础知识 geometry&#xff1a;决定物体的几何形状、轮廓&#xff1b;material&#xff1a;决定物体呈现的色彩、光影特性、贴图皮肤&#xff1b;mesh&#xff1a;场景中的物体&#xff0c;由geometry和materia组成&#xff1b;textu…