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

一、基础知识

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()

 

 

相关推荐

  1. MySQL like “%x“,索引一定失效吗?

    2023-12-09 14:22:04       24 阅读
  2. python实现支付宝推出“集五福”这个活动

    2023-12-09 14:22:04       37 阅读
  3. python知识总结

    2023-12-09 14:22:04       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-09 14:22:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-09 14:22:04       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-09 14:22:04       82 阅读
  4. Python语言-面向对象

    2023-12-09 14:22:04       91 阅读

热门阅读

  1. yaml工作常用语法总结

    2023-12-09 14:22:04       49 阅读
  2. yarn和npm的区别

    2023-12-09 14:22:04       73 阅读
  3. Mac系统升级node.js版本和npm版本

    2023-12-09 14:22:04       63 阅读
  4. 2-Spring

    2-Spring

    2023-12-09 14:22:04      54 阅读
  5. 54.Go类型转换库cast

    2023-12-09 14:22:04       59 阅读
  6. Pytorch当中nn.Identity()层的作用

    2023-12-09 14:22:04       49 阅读
  7. 2024年生成式人工智能发展预测

    2023-12-09 14:22:04       60 阅读
  8. ubuntu18.04安装pcl1.11.1

    2023-12-09 14:22:04       66 阅读
  9. 【C/PTA】结构体专项练习

    2023-12-09 14:22:04       40 阅读
  10. 解决Base64字符串出现不合法字符的情况

    2023-12-09 14:22:04       66 阅读
  11. SpringBoot集成WebSocket

    2023-12-09 14:22:04       68 阅读
  12. 【深入剖析K8s】第四章 K8S集群搭建与配置

    2023-12-09 14:22:04       63 阅读
  13. ubuntu18.04安装opencv-4.5.5+opencv_contrib-4.5.5

    2023-12-09 14:22:04       63 阅读