python

1 篇文章 0 订阅
1 篇文章 0 订阅

(知识部分)

认识python

简介

Python 是一种高级编程语言,具有简单易懂的语法和强大的功能。它被广泛应用于 Web 开发、数据分析、人工智能等领域python使用的是缩进来表示代码块,而不是花括号。它支持面向对象、函数式和过程式编程范例。Python 中的变量不需要提前声明类型,而是动态类型的。

高级语言的特点(Python、Java、C#、JavaScript 等

系统级编程、嵌入式系统和性能要求较高的应用领域有着重要的地位。

  1. 与底层硬件无关 高级语言与具体的计算机体系结构操作系统无关,程序员无需关心硬件细节,具有较好的可移植性

  2. 更易学易用: 高级语言有清晰简洁的语法和丰富的库函数可以快速地学习编写复杂的程序。

  3. 更高的抽象级别 高级语言提供更高的抽象级别,使得程序员能够更专注解决问题逻辑,而不必关注底层的实现细节。

  4. 更强大的功能和封装: 高级语言提供了丰富的内置函数和库,可以方便地实现各种功能,比如文件操作、网络通信、数据处理等。

  5. 相对较慢的执行速度: 由于高级语言的抽象级别更高,导致程序在执行时比低级语言更慢

  6. 更好的可读性和可维护性: 高级语言具有更好的可读性,程序易于理解维护

这些特点使得高级语言在各种应用领域例如快速开发和跨平台开发中得到广泛应用

 低级语言的特点(机器器语言,汇编语言
  1. 更接近硬件: 低级语言直接映射到计算机硬件的指令集低级语言对于硬件的控制更为直接

    1. 较为复杂 低级语言的语法和语义更为底层,相比高级语言更加复杂和晦涩。程序员需要更深入地理解计算机硬件的结构和工作原理。

  2. 较少的抽象和封装 低级语言对计算机硬件的操作更直接,需要程序员手动管理内存、寄存器和指针细节等。

  3. 高效性: 其编写的程序可以实现更好的性能和资源利用。

  4. 平台依赖性:在不同硬件平台上的可移植性和兼容性较差

  5. 更灵活: 低级语言可以直接访问计算机硬件的底层功能,它在一些特定的场景下灵活强大。

python数据类型

在python中我们无需使用int,float,str,bool等来定义但是操作两个不同类型数据时我们需要进行数据转换

整数(int):     

 Python 的整数类型正整数、负整数和零,没有大小限制。例如:10-51000

浮点数(float)      

 浮点数表示带有小数部分的数值,由整数小数组成。例如:3.14-0.0012.0。需要注意的是,浮点数的精度可能会存在问题,因为它们是以二进制形式存储的。例如:

字符串(str):

函数默认的是输入一个字符串 

 Python 的字符串类型用来表示文本数据。使用单引号、双引号 三引号表示字符串。例如:"Hello, World"'Python'。                                                       

capitalize()

capitalize方法是字符串的第一个字母转换为大写其他的字母转换为小写

 处理空字符串

空字符串通常在编程中可能导致边界问题,特别是在处理输入和输出时。例如,在处理用户输入时,如果用户提供空字符串作为输入,程序可能需要额外的逻辑来处理这种情况。在编写代码时,需要考虑到空字符串可能会在某些情况下出现,以避免出现边界问题。  

在某些情况下,空字符串可能会导致程序出现异常或错误。因此,在编程中需要小心处理空字符串,确保代码在遇到空字符串时能够正常运行而不会出现边界问题。

因此,处理空字符串时需要谨慎,并考虑到它可能在边界情况下出现。

 这段代码只是用来演示即使在边缘情况下,代码也能够正常运行。空字符串并不是问题的解决方案,而是对于程序中可能遇到的各种情况进行测试和处理的一部分。所以对空字符串应用capitalize()函数只是为了演示这个函数的行为

处理用户输入

此代码功能是将用户输入的字符串的第一个字母处理成大写

 casefold()

其功能是将大写部分转换为小写不过casefold也可以处理一些其他语言的字符串

title()

将字符串的每个单词的首字母转换为大写 

swapcase()

大小写翻转 大写变成小写 小写转换成大写

upper()

所有小写字符串变为大写

lower()

将字符串转换成小写字母

center()

居中显示

center的用法是在使得字符串两端居中显示 width是字符串的宽度 fillchar是两端填充的内容  默认是空格

输出结果是**Python**

ljust左对齐其中,length 是指定的长度,fillchar 是可选的填充字符

用于将字符串进行左对齐,并在字符串的右侧填充指定的字符(默认为空格)直到达到指定的长度

在这个例子中,字符串 "hello" 左对齐,然后用连字符 "-" 填充至总长度为 10。

rjust右对齐右对齐

其语法与ljust一样lenghth,是指定字符串宽度而fillchar是可选字符

zfill左输入00与rjust和ljustx类似它也是用lenghth来指定宽度

count()

count的方法是计算一些字符在字符串中出现的次数

find()

查找元素下表默认是从左向右

rfind 和find有点类似

不过rfind是从右向左查找元素的下标

expandtabes()

expandtabs将制表符转换为空格默认是8个空格

replace()

原始字符串.replace(要替换的字符串,替换过来的新字符串,替换次数)

如果不指定替换次数默认将会全部替换

translate 

sartswith

检查字符串是否以指定的前缀开头

endwith

与starswith类似不过endwith是检查以指定的字符串后缀结尾

format函数

位置参数

{0} 代表第一个参数 name{1} 代表第二个参数 age。这样可以控制每个参数被插入的位置。

关键字参数 格式化选项{0:.2f}指定了格式化选项,.2f表示保留两位小数。你还可以使用其他格式化选项来指定精度、对齐方式、例如:

  1. 精度和类型

    • {:.2f}: 保留两位小数
    • {:.3s}: 限制字符串长度为3
    • {:+d}: 显示带有符号的整数
  2. 对齐与填充

    • {:<10}: 左对齐,填充至10个字符
    • {:^10}: 中间对齐,填充至10个字符
    • {:_<10}: 使用下划线进行填充,直到字符串长度为10
    • {:04d}: 数字补零 (填充至四位)
  3. 符号、逗号分隔

    • {:+}: 显示正负号
    • {:,}: 添加逗号作为千位分隔符
  4. 进制

    • {:b}: 二进制
    • {:o}: 八进制
    • {:x}: 十六进制
  5. 日期和时间

    • {:%Y-%m-%d}: 按年-月-日格式化日期
    • {:%H:%M:%S}: 按时:分:秒格式化时间
    • 科学计数法

      • {:e}: 以科学计数法格式化数字
    • 截断长字符串

      • {:10.5}: 截断字符串至长度10
    • 定制日期和时间

      • {:%B %d, %Y}: 标准日期格式,如 "July 26, 2022"
      • {:%I:%M %p}: 按12小时制格式化时间,如 "03:15 PM"
    • 定制货币

      • {:>10,.2f}: 右对齐,填充并添加货币符号、逗号和小数点
    • 定制百分比

      • {:0.2%}: 显示百分比,保留两位小数
    • 这些格式化选项使得format方法非常灵活,在处理各种不同类型的数据和字符串时都能够提供精确的格式化

布尔值(bool):

布尔值表示逻辑值,只有两个取值:True  False。用于控制流程逻辑运算如:条件判断、循环逻辑运算。(例判断条件是否执行)                                                                                                     :                              

布尔值的操作

istitle()

判断字符串中的每个单词首字母是否为大写

starswith判断字符串的首字符

isupper判断字符串是否为大写字符

如果字符串中至少有一个字母且所有字母均为大写,则该方法返回 True

如果字符串中含有至少一个小写字母,无论其它字符是大写或符号等,isupper() 方法会返回 False

isalpha判断是否为字母

isprintable判断是否可打印

检查字符串中的字符是否都是可打印的。如果字符串中的所有字符都属于以下四种之一:普通数字(0-9)、英文字母(a-z, A-Z)、标点符号、空格或制表符,则返回 True,否则返回 False

isspace

判断是否为空格检查字符串是否只包含空格字符。如果字符串中包含制表符、换行符、空格等空白字符且字符串非空,则该方法返回 True;否则返回 False。

isdecimal判断是否为十进制数字

Unicode 数字

是指一组由 Unicode 标准支持的数字字符。这包括但不限于 0 到 9 这些基本的阿拉伯数字,也包括其他国际化数字,如罗马数字、泰米尔数字、希腊数字等。Unicode 标准定义了许多不同语言和文化中使用的数字符号。

这些字符允许数字在各种文化和语言中被表示和使用,使得 Unicode 在国际化环境下具有更好的可移植性和通用性。在计算机编程和文档处理中,使用 Unicode 数字有助于确保数字的正确显示和处理。

在 Python 中,isdigit() 方法可以用于检查字符串中是否包含 Unicode 数字字符。

isdigit判断是否为     数字

isnumeric判断是否为数字

isnumeric() 方法除了包括阿拉伯数字(如“0123456789”)在内的所有数字字符,还包括Unicode数字、全角数字(如“1234567890”)在内。

isalnum

检查给定字符串中的所有字符是否都是字母和数字的组合。换句话说,该方法可以用于测试字符串是否仅包含字母 (a-z, A-Z) 或数字 (0-9)。

isidentifier

检查是否是一个合法的标识符

istrip

左侧不留白(默认是空白)

lstrip 方法移除了字符串左侧的空白符,同时保留了字符串右侧的空白符

rstrip

和lstrip类似不过是右侧不留白

removeprefix

用于从字符串中移除指定的前缀(删除前缀)

removesuffix

用于从字符串中移除指定的后缀(删除后缀)

split()

根据指定分隔符分割成子字符串列表的方法

默认是空格 逗号作为分隔符 设置最大分割次数

rsplit

与split类似不同的是rsplit从右侧开始分割

splitlines

将字符串按行分割,并返回包含各行作为元素的列表

join

用于将列表中的字符串元素连接成一个单独的字符串

  • separator 是用于连接字符串的分隔符。
  • iterable   是一个包含字符串的可迭代对象(如列表或元组)

format

format() 方法用于字符串的格式化。它允许将变量或数值插入字符串中的占位符处并指定其格式format() 方法也允许指定格式,例如保留小数点后两位

 列表(list):     (使用方括号扩起

  列表是 Python 中最灵活的有序集合类型可以其想象成一种容器,用于存放多个可以是任何数据类型的数据(元素)列表提供一种方便的方式来组织和管理多个相关的数据,元素可以是异构的。                      例如:[1, 'apple', True]。                                                 

列表的使用方法   

       (1)通过索引:通过下标(索引)来访问列表中的单个元素,python中索引是从0开始例子:从0开始意味着使用下标(索引)来访问列表中的单个元素。 其中 'apple' 的索引为 0  'banana' 的索引为 1      'cherry' 的索引为 2  'date' 的索引为 3 

如果我们要使用my_list中的元素我们只需要输入my_list[下标]便可

   Python 中的索引从 0 开始如果列表中有n个元素那么它的索引就是从0-(n-1)

但是我们通常使用列表切片的方法来操作列表

列表切片

 

列表推导式

[expression for i in interable](列表推导式一定要掌握)

生成1到10的平方数的列表

从一个字符列表中生成一个包含字符串长度的列表

其功能是求apple banana orange 的字符串的长度

求偶数

用列表推导式创建一个字典

使用列表推导式实现列表的扁平化

列表的扁平化指的是将嵌套的多维列表(包含子列表的列表)转换为单一的一维列表。这意味着将嵌套列表中的所有元素提取出来,形成一个平铺的列表。扁平化列表可用于处理嵌套结构数据,使其更易于处理和操作。

举个例子,如果有一个嵌套的列表 `[[1, 2, 3], [4, 5], [6, 7, 8]]`,对其进行扁平化后会得到 `[1, 2, 3, 4, 5, 6, 7, 8]`。

在编程中,列表推导式是实现列表扁平化的一种常用方法,通过在一个列表推导式中使用多重循环来遍历嵌套的列表并提取元素。另外,Python的`itertools`模块也提供了`chain`函数来实现列表的扁平化。其他编程语言也有类似的方法来实现列表扁平化。

列表的操作

列表的增加append()

但是需要注意的是append()只可以增加一个元素并且是在列表的末尾添加的

extend()

这时候我们就可以使用extend但是extend和append的缺点相同的是只可以在列表的最后添加元素                                 所以我们就要用到另一个了                                               

insert() 

(要插入元素的下标位置:要插入的元素)

列表的删除

           
pop()

pop(下标)

clear()

清空数据

                                                                列表和字符串的区别是列表是可变的而字符串是不可变的

sort()

排序

 reverse()

reverse是将列表中最后一个元素和第一个元素互换第二个元素和倒数第二个元素互换所以sort和reverse结合使用就可以完成降序排序

列表元素的替换 

当我们想替换列表中的单个元素的时候我们直接替换便可


 count()

 计算一元素在列表中出现了多少次

此程序的功能是计算列表a中2出现了多少次

index()

计算某个元素在列表中的下标

 输出2的下标

浅拷贝copy

原始对象改变,拷贝后对象会改变

深拷贝deepcopy原始对象改变,拷贝对象不会改变

 *是重复列表多次列表的元素 +我们用加法将列表的元素连接起来

二维列表 [行][列]                                                                                                                                           使用时 二维列表名称[行][列]                

         元组(tuple):                                                                    

  1.         类似列表区别:元组也有序集合类型(不可变)。元组使用圆括号括起,元组可以不括括号例如: (1, 'apple', True)。例子:             这两行代码的运行的结果是一样的 元组和列表结合使用元组中的元素虽然是不可变的,但是列表是可变的所以我们可以通过元组和列表结合     使用                                                        

  2. 集合(set):                                                                                                                                       集合是无序不重复的集合类型。它支持集合的基本数学运算,如并集、交集和差集。集合使用大括号括起例如:{1, 2, 3}例子:    当然我们也可以使用set 函数来创建集合my_set=set([1,2,3,4,5,6,7])my_set={1,2,3,4,5,6,7}                                                                                                                                  集合的使用方法:这里的并集 交集 差集和数学里面的概念一样  并集union _set=A|B或者使用A.union(B)结果为{1,2,3,4,5}                                                     交集intersection_set=A&B或者使用A.intersection(B)结果为{3}                                            差集difference_set=A-B或者使用A.difference(B)结果为{1,2}                                                对称差集symmetric_difference_set=A^B或者使用A.symmetric_difference(B) 结果为{1,2,4,5}                                                                                                                 

  3. 字典(dict):                                                     
         
       字典是一种无序的键-值对集合类型,用于存储具有相关联关系的数据。字典使用大括号括起,并且每个键值对之间使用冒号分隔,例如:{'name': 'Alice', 'age': 25}。例如:   在这里,my_dict是字典的变量名,key1,key2,key3是字典的键 ,它们必须是不可变的数据类型,使用字符串,整数或者元组作为键;value1 value2 value3则是对应值,他们可以是任意数据类型,包括可变类型,之间用冒号:分隔,每对”键-值“对之间使用号分隔整个字典对使用大括号包围                                                                                                      需要注意的是,字典中的必须是唯一的,而值可以是重复的。当创建字典时,键值对的顺序不重要,因为字典是无序的数据结构                                                                                                                                                                                                                                       扩展一下  键值对                                                                                                                             (举栗子):

    "键-值对"(key-value pairs)指的是在数据结构中,每个键(key)与一个对应的值(value)相关联的情况。在字典或映射等数据结构中,键用于唯一地标识值,并且可以通过键来获取对应的值。

    再举个栗子 :考虑一个存储学生信息的字典,每个学生有一个唯一的学号作为键,而相应的信息(如姓名、年龄、成绩等)作为值。这样,通过学号(键)可以快速地查找到该学生的信息(值),实现了高效的数据访问和管理。

  4. 字节串(bytes)和字节数组(bytearray):                                                                                 字节串表示一个不可变的序列,并且每个元素都是一个字节;字节数组与字节串类似,但它是可变的。(1)使用b"声明: 直接使用b''(例如b'hello)              (2)使用bytes()函数:可以使用bytes()函数将字符串整数或可迭代对象转换为字节串              (3)用.encode()方法将字符串编码为字节串:                                                                           使用字符串的 encode()方法将字符串编码为指定的字节串                                                                               字符串与字节串的区别区别主要在于处理和表示数据的方式                                                                                                                                  

  5.    字符串代表文本数据例如  字母 数字 和符号的组合                                                                          字节串用于存储二进制数据  如图像 音频 或者网络数据包                                                      字符串一般会用特定的编码方式,如ASCII UTF-8或UTF-16对字符进行编码 而每个字符占据一定数量的字节                                                                                                                      相比之下字节串则是原始的二进制数据,在处理字符串时通常执行的是文本操作,比如连接 搜索 和字符处理 而字节串通常使用更低级别操作,比如位运算 二进制文件I/O和数据序列化 

  6. 空值(NoneType):                                                                                                              Python 中的 None 表示一个特殊的空值,用于表示一个变量没有值。例如 在这个例子中变量my_variable被赋予了空值,表示它目前没有存储任何有效的数值                   例如:

 这些数据类型和数据结构构成了 Python 中丰富的数据处理工具箱,能够满足各种不同的数据处理需求。  

顺序结构       

变量赋值     

先理解一下变量的概念值可以改变的量称为变量值不可以改变的量被称常量      变量赋值是将数值 字符串 或其他类型的值分配给变量  例如

多重赋值   

多重赋值就是同时为多个变量赋值。这是Python中非常方便且强大的特性之一                                                                                                                 

  算数或其他表达式的计算:

例如                                                                                                                   

 函数调用

                                                                                                                                                        调用一个已经定义的函数 执行特定的任务             

print是python中的内置函数                                                                              

 输入输出语句:                                     

此功能是接受一个字符串                                                                       

  从用户   获取输入或者向用户显示输出        例如                                                                                       

 类型转换

  将值从一种数据类型转换成另一种类型                                                                                            类型转换形式 是  变量=类型(要转换的值的变量)例如a=int(b)                              

  综上所述                                                                                                                  

你会发现顺序结构的执行流程是自顶向下的,顺序结构是计算机的程序中的基本结构,顺序结构就是按照代码的顺序依次执行其中的命令除非遇到控制流程语句(例如条件语句,循环语句)    

分支结构

定义

分支结构是一种控制结构,它根据条件的成立来确定程序的执行流程 当程序执行到分支结构的时候会判断条件的真假来执行条件,如果条件为真那么与之相关的代码会执行如果条件不成立那么与之相应的代码会被跳过

       其 组成为                                                                                                                                                       分支语句if ,else,eif,组成其他编程语言通常有switch,不过由于python的特点 python中没有switch语句在python中我们使用字典和if的嵌套来代替switch语句

     if语句   

if ....else  语句                                                                                                                                   
if....elif ...else语句

              else在一条if中最多出现一次(python编程中)既:else是在if elif都不满足下才会执行 (它用于处理所有条件都不成立的情况)   

循环结构     

循环的定义  

循环是编程中常用的概念它运行程序重复执行特定的代码块,直到达到指定的条件为止循环可以用来遍历数组或列表中的元素,处理重复的任务,或者根据特定的条件重复执行特定的操作。循环的灵活性使得它成为解决许多问题的重要工具,无论是在算法设计、数据处理还是其他编程任务中都有着广泛的应用。                                                                                                                              

for循环           

                                                                                                                                                              在这个fo循环结构中item是代表了序列(如 列表 元组 字符串 等) sequence 代表了待遍历的序列。在每次循环迭代中,item会依次赋值为序列中的每个元素,然后执行相应的代码块 for循环通过这种方式遍历 序列中的每个元素 直到序列中的所有元素都被访问一遍这使得for循环称为处理数据集合的重要工具 需要注意的是for循环的结束是由序列中的元素数量决定的,这意味着,在循环执行过程中,如果通过某种方式改变了序列本身,可能会出现意向不到的结果                                        例如 第一次遍历时,fruit 是 "apple"。然后,当遍历到第二个元素时,也就是 "banana" 时,您使用 fruits.remove(fruit) 尝试移除这个元素。这将导致列表长度的变化,接下来的循环可能会失效或导致意想不到的行为。

range()                

range(5)                                         会生成[0,1,2,3,4]

range(1,5)                                           生成[1,2,3,4]

range(1,5,2)                                        生成[1,3]                                                                             range(start,stop,step)                        start是开始stop是结束step是跨的步数

                                     

while循环        

 当我们需要重复执行一个代码块直到条件不再满足时,可以使用while循环                                      它的基本形式是while 条件语句: 循环体                              只有当条件不成立的时候我们才会不执行循环体否则会一直执行循环体                                               在这个例子中,count 初始化为 1。while 循环会一直执行print(count)直到count的值达到 5。每次循环,count 会递增 1,直到达到 5,然后循环结束。

在这个例子中,while 循环会在用户输入"quit"之前持续运行。用户可以一直输入不同的文本,只有当输入"quit"时循环才会结束。

这些例子展示了while循环在处理不同类型的重复任务时的应用。while 循环在需要基于特定条件重复执行代码块时非常有用。                                                                                                            

其他                                                                                        

input()函数允许程序从用户处接收输入。当调用input()函数时,程序会暂停执行,等待用户输入,并在用户按下回车键后继续执行。

print打印

print函数通常用于输出(打印)文本或计算结果到控制台或终端,在Python中,print函数的基本语法是 print(value1, value2, ...),其中value1value2等为要输出的值,可以是数字、字符串,或者其他数据类型。

id内存地址

id() 函数用于获取对象的唯一标识符,也就是对象的内存地址。它接受一个对象作为参数,并返回该对象的唯一标识符

 in 

成员资格检查 使用“in”来检查一个值是否存在于一个序列(列表、元组、集合、字典的键)

迭代/遍历 “in”可以用在for循环中,用于遍历一个序列中的所有元素

集合的成员关系检测 用于检查一个元素是否存在于集合中

is

is 是一个关键字,通常用于比较两个对象是否是同一个对象,而不仅仅是它们的值是否相等

单例模式中的应用:在应用中,is关键字可以用于检查一个对象是否是指定类的唯一实例。

总而言之,is 在 Python 中主要用于检查对象的身份,即它们是否是同一个对象,具有相同的内存地址

not in 

not in 是一个组合操作符,用于检查指定的元素是否不在某个集合(列表、元组、集合、字典的键) 字典键的成员资格检查:

 此例将会打印 "'d' 不在字典中",因为 'd' 不在字典中not in 与 in 相反,用于检查元素是否不在特定的集合中

list()函数

将可迭代对象(如元组、字符串等)转换为列表:list()函数可以接受一个可迭代对象作为参数,并返回一个包含可迭代对象元素的新列表。

 创建空列表:如果将list()函数无参数地调用,它会返回一个空列表

tuple()

tuple()是一个内建函数,用于创建新的元组对象。元组是一种数据集合,可以包含不同的数据类型,并且一旦创建后就无法更改。

tuple()函数可以有参数也可以没有参数。如果没有提供参数,它将返回一个空的元组。如果提供一个参数,并且这个参数是一个可迭代对象(如列表、字符串或另一个元组),tuple()函数将使用这个可迭代对象中的元素创建一个新的元组。如果提供多个参数,它将使用这些参数创建一个元组。

str()字符串

str()函数是一个内置函数,用于将指定的对象转换为字符串表示形式。如果没有提供参数,它将返回一个空字符串。如果提供了一个参数,str()函数将返回表示该参数的字符串。

字符串是由字符组成的序列,而str()函数可以将数字、列表、元组、字典等其他数据类型转换为其字符串表示形式,便于输出、存储和处理。

sum求和

sum()是一个内置函数,用于计算可迭代对象(如列表、元组、集合等)中所有元素的总和。它可以接受一个可选的参数start,用于指定计算的初始值。如果未提供start参数,sum()函数将默认使用0作为初始值。

pow(a,b)a的b次方

pow() 是一个内置函数,用于计算幂运算。pow() 可以接受两个参数,第一个参数是底数,第二个参数是指数。如果提供第三个参数,它作为模数,表示计算底数的指数次幂后对该模数取余。 此外,pow() 还有一个等价于 ** 运算符的功能,用于计算底数的指数次幂。

min最小数

min()是一个内置函数,用于从给定的多个参数或可迭代对象中找到最小的值。

min()用于多个参数时,它会返回这些参数中的最小值。

min()用于可迭代对象时(如列表、元组、集合等),它会返回该可迭代对象中的最小值

min()还可以与key参数一起使用,该参数接受一个函数,用于生成用于比较的键值。例如,可以通过key参数获取列表中字符串的最短项:

max最大数

max() 是一个内置函数,用于从给定的多个参数或可迭代对象中找到最大的值。

当 max() 用于多个参数时,它会返回这些参数中的最大值。例如:

同时,当 max() 用于可迭代对象时(如列表、元组、集合等),它会返回该可迭代对象中的最大值。例如

max() 还可以与 key 参数一起使用,该参数接受一个函数,用于生成用于比较的键值。例如,可以通过 key 参数获取列表中字符串的长度:

sorted

 函数是一个内置函数,它返回一个新的已排序的列表,不会改变原始列表的顺序。它可以用于对不可变序列,例如元组或字符串进行排序

sort顺序

方法是列表对象的方法,它直接改变原始列表的顺序,并且不返回新的列表。sort() 方法只能用于列表类型。sort()

reverse原字符串反转

列表的 reverse() 方法用于将列表中的元素进行反转。它会修改原始列表,将列表的元素顺序颠倒。使用 reverse() 方法后,列表中的元素将以相反的顺序排列。 

该方法不会返回新的列表,而是直接修改原始列表。需要注意的是,它只适用于列表对象,并且会改变原始列表中元素的顺序。

reverse() 方法对于需要快速更改列表中元素顺序的情况非常有效,将列表按相反的顺序排列。

all

它能够检查各种 Python 数据结构的性质,包括列表、元组、集合、字符串和字典

  • 对于集合: 
  • 对于字符串:
  • 对于字典  总的来说,all() 函数适用于对任何可迭代对象进行逻辑判断,以确定其中的所有元素是否为真。

any的用法

any 是一个内置的函数,用于判断可迭代对象中是否存在任何为真(True)的元素。可迭代对象包括列表(list)、元组(tuple)、集合(set)、字典(dict)、字符串(string) 其中,iterable 是一个可迭代对象,any 函数会返回一个布尔值。当可迭代对象中至少存在一个为真的元素时,any 函数返回 True;当可迭代对象中所有元素都为假时(包括空可迭代对象),any 函数返回 False

enumerate

enumerate() 函数用于将一个可迭代对象(例如列表、元组或字符串)转换为一个枚举对象。枚举对象包含可迭代对象的索引和对应的元素

输出

zip()

zip() 函数用于将多个可迭代对象合并为一个元组列表。这对于同时迭代多个列表或其他可迭代对象非常有用。zip() 函数会按照最短的可迭代对象长度进行合并,超出部分将被忽略。

map()

字符串转换为大写

计算列表对应位置上的元素之和

  1. 将列表中的数字转为字符串形式: 
  2. 对列表中的偶数进行平方,奇数保持不变:

itertools

itertools 是 Python 标准库中的一个模块,提供了许多用于操作迭代器和生成器的工具函数。itertools 中的函数产生的结果通常是懒惰(lazy)的,意味着它们在需要时才产生值,这使得它们非常高效,尤其是在处理大型数据集时。

下面是 itertools 模块中一些常用函数的用法:

  1. itertools.count(start=0, step=1):从 start 开始以 step 递增的无限迭代器。 
  2. itertools.cycle(iterable):将可迭代对象的元素无限循环。
  3.  itertools.repeat(elem, n):将元素 elem 重复 n 次
  4. itertools.combinations(iterable, r):生成可迭代对象的所有长度为 r 的组合 
  5. itertools.permutations(iterable, r=None):生成可迭代对象的所有长度为 r 的排列,如果不指定 r,则生成所有排列。 这些只是 itertools 模块中众多函数中的一小部分。itertools 提供了许多强大且高效的工具函数,用于处理迭代器和生成器
  6. 一些示例:

     无限迭代器
    count(start=0, step=1): 从 start 开始以 step 递增的无限迭代器。
    cycle(iterable)`: 将可迭代对象的元素无限循环。
    repeat(elem, n)`: 将元素 elem 重复 n 次。

    组合生成器
    combinations(iterable, r)`: 生成可迭代对象的所有长度为 r 的组合。
    permutations(iterable, r=None)`: 生成可迭代对象的所有长度为 r 的排列,如果不指定 r,则生成所有排列。

     其他生成器
    accumulate(iterable[, func]): 返回累积计算的结果,默认使用加法。
    chain(*iterables): 将多个可迭代对象连接在一起。
    compress(data, selectors): 通过 selectors 控制输出元素。
    dropwhile(predicate, iterable): 跳过满足条件的元素后的所有元素。
    takewhile(predicate, iterable): 返回满足条件的元素。
    filterfalse(predicate, iterable): 返回不满足条件的元素。
    groupby(iterable, key=None): 根据 key 对迭代器的元素进行分组。
    islice(iterable, start, stop, step): 迭代器切片。
    starmap(function, iterable): 类似于 map(),但是参数以元组的形式提供。
    tee(iterable, n=2): 复制迭代器 n 次,返回一个元组。

    这些都是 itertools 模块中可用的函数,它们提供了强大的工具,用于操作迭代器和生成器。

filter

  1. 过滤出长度大于等于5的字符串:
  2. 从列表中过滤出非零数字
  3. 过滤出包含特定字母的单词

map

在python中,函数是由def关键字定义的可重复使用的代码块。 它们通常接受输入参数并返回结果函数的一般结构 

   
默认函数 

                                                                                                                                                        你可以在定义函数时指参数的默认值 如果函数调用时没有指定特定的参数值将使用默认值 

此程序要注意缩进     greet对齐的语句都是 greet函数                       

不定长参数:

           你可以使用不定长参数来处理不固定数量的输入参数。在python中我们使用*的参数来接受不定长参数它允许函数接受任意数量的参数

这些参数在函数内部会被视为元组或字典

匿名函数:   (lambda) 

    匿名函数,也称为 lambda 函数,是指在程序执行期间动态创建的小型函数。与普通函数不同的是,匿名函数通常不会通过通过 def 关键字来声明,而是使用 lambda 关键字,后跟参数列表和返回表达式来定义。                                                                                                                                                    除了使用def关键字定义函数外还可以使用lambda表达式创建匿名函数这些函数常用于较小的操作     

  return语句     

                                                                                                                                                                  在python中函数不一定需要return语句。如果函数没有明确的return语句它将默认返回特殊值None。因此return语句是可选的具体取决于函数的需求   

返回值:return 语句用于将函数内部的结果返回到调用函数的地方。这意味着它允许函数计算某些结果并将其传递给函数的调用者,以便在后续的程序中使用。这对于获取函数执行期间的结果非常有用。

终止函数执行:                                                                                                                                            当函数执行到 return 语句时,它将立即终止函数的执行并返回结果。这对于在函数的特定条件下终止执行或在特定情况下提前返回结果非常用。例如:                                                                         

输出值:                                                                                                                                                   在一些情况下,return 语句也可以用于输出值,使得函数的结果对外部代码可见。

总的来说,return 语句是函数的输出和控制流的一部分。它允许函数与程序的其他部分进行交互,并返回所需的结果。虽然不是每个函数都需要 return 语句,但它在许多情况下具有重要作用,特别是当函数需要返回值时。

练习

(输出helloworld)

(1)使用print函数输出

(2)在交互模式下进行一次helloworld

(3)使用logging模块(不用print函数你还会不会?)

两个数相加

(1)使用模块operator

(2)加法运算符

(3)通过函数调用

(4)变量相加

两个数相除 变量转换 变量赋值  完成后试着定义函数完成

两数相乘

交换两个数并且输出

判断元音辅音

输入三个数逆序输出

输入三个数顺序输出

输入三个数逆序输出并且输出最大值和最小值

计算自然数的和

输入判断其是否是数字若是则输出这个数字的信息(奇数偶数?个位数是什么)如果输入的是字母则显示其中的元音字母并且输出你输出的元音字母的个数和辅音字母的个数若输入的是其他字符则会显示输入错误

用数字或者字符创建一个形状(正方形 长方形 三角形 )

计算一年有多少秒

猴子吃桃问题

输入一行字符统计其单词的个数

输出你输入的东西

完成计算器功能

大小写字母转换

输入一个数判断这个是是否是回文数

输出回文塔

输入一个数求这个数的阶乘

输入一个东西判断它是什么(数就输出它是数字,字母就输出它是字母)

哈哈引用一个名人的话 把简单的事情变的复杂似乎是很简单 但是把复杂的事情变得简单就变的很难了

                                                                                                        计算机英语

了解此内容(知道这个功能是干嘛的)                                                                 

 认识python我的python中的集成开发环境是pycharm

集成开发环境”(Integrated Development Environmentide)。这是一种软件工具,用于帮助程序员编写、调试和运行代码。IDE的目标是为软件开发提供一个集成的界面,将各种与软件编写和调试相关的功能整合到一个工具中,在一个环境中进行开发,从而提高开发效率。

Python中的一些流行的IDE包括PyCharm、Visual Studio Code、Jupyter Notebook等。这些工具通常有各自的特性

pycharm界面

  1.  用户界面(UI)定制:调整或修改应用程序的外观和交互方式,使其更符合用户的偏好、品牌标识或特定设备的特性。

  2. 功能定制:根据用户的需求添加、修改或删除特定功能,以使应用程序更加符合用户的使用场景或需求。

  3. 配置定制:允许用户根据其需求进行设置和配置,以个性化应用程序的行为或外观。

  4. 数据定制:根据用户的需求展示或处理特定的数据,使得应用程序更适合特定的用途。

URL是Uniform Resource Locator的缩写,中文意为"统一资源定位符"。它是用于指定互联网上资源的位置以及访问该资源的方法的标准。通常,URL由若干个组件组成,包括协议(例如http或https)、服务器地址、路径等。例如,"https://example.com/page"就是一个URL。"https://"指定了使用的协议,"example.com"指定了服务器地址,"page"指定了服务器上的页面路径。URL能够唯一地标识互联网上的资源,因此它在浏览器中输入以访问网站、下载文件以及其他互联网访问中起着重要的作用。

  1. 新项目: 当你开始一个新项目时,你可能需要从版本控制系统中获取项目的初始代码。

  2. 合作开发: 在团队中进行协作开发时,团队成员可能需要从版本控制系统中获取最新的代码以便与其他人的工作保持同步。

  3. 协作评审: 在进行代码评审或测试时,你可能需要获取特定的代码分支或提交以进行检查或测试。

在 Git 中,使用 git clone 命令可以从远程仓库中获取完整的代码库到本地。对于其他版本控制系统也有类似的命令。

Plugins"(插件)通常是指在现有软件或平台上附加的可扩展模块,用于增加新的功能或定制现有功能。插件通常允许开发者或用户根据其特定需求来扩展软件的功能。插件系统通常用于许多类型的软件,包括编辑器、网站、应用程序等。

  1. 功能扩展:通过插件,用户可以为现有软件添加新的功能或工具,以满足个人或特定用例的需求。

  2. 主题和样式:一些插件可以用于修改软件的外观和用户界面,如添加新主题、图标或定制图形元素。

  3. 集成外部服务:一些插件允许软件与外部服务或平台集成,以扩展软件的功能或提供额外的服务。

  4. 自定义行为:通过插件,用户可以调整软件的行为、事件处理等方面,以使软件更符合其需求。

  5. 插件通常是以模块化和可重用的方式实现的,允许开发者独立开发和定制功能,而无需修改软件的核心代码。一些软件提供了插件开发的 API 和工具,如文档和示例,以便开发者创建符合规范的插件。

file选项卡

一共有23个子文件夹

1 new project

 选择"New Project..."会启动项目创建向导,让您可以设置新项目的各种选项,包括项目类型、存储位置、语言、框架等。

创建新项目时,您可以进行以下操作:

  1. 选择项目类型:根据您的需求,选择要创建的项目的类型,比如Python应用、Web应用、Django应用、Flask应用等。

  2. 设置项目存储位置:选择新项目的存储位置,在文件系统中选择一个文件夹作为项目的根目录。

  3. 指定项目解释器:选择项目所使用的Python解释器,以确保项目能够使用正确的Python环境。

  4. 选择项目模板:PyCharm通常会提供一些项目模板,您可以选择一个适合您项目类型的模板进行创建。

  5. 配置项目结构和设置:您可以配置项目的目录结构、版本控制等设置。

new.... 

 "New..." 可以允许您创建新的项目、新的文件、新的目录、比如开始一个新的项目、新的编码文件,或者新的配置文件等。

new Scratch file

 "New Scratch File" 允许程序员快速地创建一个新的、临时的代码编辑界面,用于测试、探索和编写短小的代码示例。它无需将代码保存为一个新文件或者将其关联到已存在的项目中                      你可以将它理解成一小段示例代码、一次性的实验性代码或演示代码,通常用于临时测试、演示、探索、或者简短的任务           

 Open...

  1. 打开项目:选择 "Open" 选项以打开现有的项目文件夹,将其作为一个项目导入到IDE中进行编辑、管理和编译。

  2. 打开文件:通过 "Open" 选项可以在IDE中打开一个独立的文件,以进行查看、编辑或调试。

  3. 打开最近编辑的文件:某些IDE还支持从最近编辑的文件列表中选择并打开文件。 

 save as                                                                                                                                                  将已打开的文件另存为另一个文件              

 Attach  project 

"Attach Project"选项用于将一个已经存在的项目与当前的工作环境相关联。这个选项允许您将已存在的项目(或者子项目)导入到当前的工作空间中。

当您选择"Attach Project"时,您可以选择一个已存在的项目文件夹,并将其添加到当前的PyCharm工作环境中。这对于协同开发或者需要在多个项目间进行切换的情况非常有用。

通常,通过将项目附加到当前工作环境中,您可以在PyCharm中方便地管理和编辑多个项目,包括查看和编辑文件、运行和调试代码等。这也有助于在IDE中快速地切换和管理多个项目,而不需要打开和关闭不同的窗口。

"Attach Project"选项的使用也有助于在PyCharm中更好地管理多个项目,并为您提供一个更集中、更便于操作的工作环境。

close project

 通常用于关闭当前在集成开发环境(IDE)中打开的项目关闭项目并不会删除或者更改项目的文件,而是只是将当前项目从IDE中关闭

 通常用于集成开发环境(IDE)中更改当前项目的名称调整项目名称

"Settings" 选项通常用于打开和管理IDE的设置和配置。通过 "Settings" 选项,您可以对IDE的各种功能、编辑器、外观、版本控制、插件等进行配置和调整。

具体来说,"Settings" 可以用于:

  1. 编辑器设置:您可以调整编辑器的行为、字体、颜色主题、代码样式等编辑器相关的设置。
  2. 语言和框架设置:允许您配置和管理与语言、框架、技术栈相关的设置。
  3. 版本控制设置:用于配置与版本控制系统(如Git)相关的设置。
  4. 插件设置:可以用于管理和配置IDE的插件,以满足特定的开发需求。
  5. 外观和行为设置:允许您配置IDE的整体外观和行为设置。
  6. 项目设置:有时,"Settings"也可用于对当前打开项目的项目级设置进行配置。

"Settings" 提供了一个集中的、可视化的方式,使您能够方便地对IDE进行定制,以符合您的特定开发需求和个人喜好。

使用 "Settings" 选项时,您可以根据自己的需求对IDE进行相关设置,以便满足您的特定需求,使得开发环境更适合您的工作流程。

 file  properties

 查看和管理文件的基本属性和元数据 查看所选文件的诸如大小、类型、路径、创建/修改日期等基本信息                需要了解文件的基本信息和元数据时过查看文件属性,您可以方便地了解有关文件的基本信息,而无需离开IDE或者进行其他麻烦的操作。"File Properties" 可能会根据您所使用的具体IDE版本和配置而有所不同,但通常是用于提供有用的文件元数据信息和基本属性的一个便捷的方式。

local History

允许您查看当前文件的本地修改历史记录。这意味着您可以查看文件的更改历史记录

save all(ctrl+s)

保存所有已更改但未保存的文件

reload all from disk(ctrl+shift+y)

 Reload All from Disk选项允许用户重新加载所有正在编辑的文件,以便将任何未保存的更改丢弃并获取最新的磁盘版本。

repair ide

 是指修复集成开发环境(Integrated Development Environment,IDE)中可能出现的一些问题

incalidate caches

择"Invalidate Caches"时,这意味着你要清除IDE缓存,以确保在项目中使用最新的数据和资源。这个选项通常被用来解决IDE中出现的一些问题,比如索引问题、代码自动完成问题、以及其他由于缓存数据不一致导致的错误或异常。当IDE缓存数据遭到破坏或变得不一致时,选择"Invalidate Caches"选项可以帮助解决这些问题。

在Python开发中,"Invalidate Caches"通常是作为解决IDE问题的一种策略。选择这个选项会清除IDE中的各种缓存,让IDE重新构建数据结构和缓存,从而确保在开发过程中使用最新的数据和资源。可以帮助开发者保持IDE的稳定性,并确保使用的数据和资源是最新的

manage ide settings

设置pycharm的界面

 外观、行为、插件、键盘快捷键、语法高亮、代码格式化等方面。通过这个选项,你可以对IDE进行个性化设置,使其更符合你的工作习惯和偏好。这包括改变IDE的主题和外观,管理插件、自定义键盘快捷键,以及配置其它方面的界面设置。因此,通过"Manage IDE Settings"选项,你可以轻松地设置和定制Python IDE的界面来满足你的需求。

New projects Setup

  用于启动新项目的设置和配置。选择这个选项允许用户对新项目进行初始化设置,例如选择项目类型(如 Django Web 应用或 Flask 项目等),配置项目环境、版本控制设置以及其他项目相关的选项。

Save File as Template

 将当前文件保存为模板需每次都从头开始编写新文件。

模板是一种通用概念,它可以应用于各种不同的领域和情境。在软件开发中,模板通常指的是已经预定义好特定格式或结构、可以被重复使用的文件或代码片段。这些模板可以用作创建新文件或项目的起点,从而帮助开发人员节省时间并确保一致性和规范性。

在使用“Save File as Template”选项时,用户可以创建自定义的模板,将当前文件保存为一个经过预定义格式的模板。随后,当用户需要创建类似类型的文件时,他们可以从这些模板中选择,并据此快速构建新文件内容,以提升工作效率。

总的来说,模板是一种非常有用的工具,它可以帮助开发人员在创建新文件或项目时节省时间,同时确保项目结构的一致性。

Export

 "Export" 选项允许用户将特定的文件、配置或设置导出为一个单独的文件或归档。这可以用于备份文件、迁移配置、共享文件等多种场景。总的来说,"Export" 功能为用户提供了一种快速、方便的方式来将文件、配置或设置从 PyCharm 中导出到其他地方,以满足不同的需求,如备份、共享或迁移数据等。

print

 使用"Print..."选项可将当前文件的内容直接打印出来

Power Save Mode

 "Power Save Mode" 是指一种特殊模式,用于帮助开发者在节能模式下使用 IDE

它将会关闭一些高能耗的功能以节省电源,例如实时检查、自动保存等。这个功能特别适合在使用笔记本电脑或者一些需要优化电池续航的环境下使用。

总的来说,"Power Save Mode" 是 PyCharm 为了帮助用户在能源敏感的场景下减少功耗而提供的选择。

Exit

 选择 "Exit" 选项将安全地关闭 PyCharm,并保存所有的项目和文件状态。

Edit 选项卡

"Edit" 选项卡提供了一系列对代码文件进行编辑和操作的功能。这些功能包括剪切、复制、粘贴、撤销、重做、查找、替换、折叠代码、转换大小写等。这些编辑功能能够帮助开发者对代码进行修改和调整,提高代码编辑的效率和便利性。 Edit 选项卡在 PyCharm 中是一个常用的工具,使得用户可以更轻松地编辑和管理他们的代码文件。

undo

  “Undo” 选项用于撤销最近的编辑操作,即撤销上一步或多步的编辑

redo

 "Redo" 是指重新执行先前的操作。当您使用 "Undo" 撤销了一个操作后,如果您希望重新执行该操作,您可以使用 "Redo" 来恢复被撤销的操作。这允许您在编辑代码时前进和后退,

cut

                        可以理解为剪切 

copy

                  可以理解为复制

copy path/reference

当涉及到“Copy Path/Reference...”,假设正在开发一个项目,项目中包含多个文件,比如 Python 模块文件,HTML 文件,或是其他资源文件。如果需要引用这些文件中的路径或者文件地址,或者在代码中引用特定文件的引用,可以使用“Copy Path/Reference...”功能。

举例来说,假设有一个名为 "utils.py" 的 Python 模块文件,并且需要在另一个文件中引用该文件的路径。通过使用 "Copy Path/Reference..." 功能,您可以将该文件的路径复制到剪贴板,然后在另一个文件中粘贴使用,而不需要手动输入路径或者进行查找。 (可以理解成就是如果我当前使用的文件需要另一个文件 的功能时我就需要使用这个)

paste

                                你可以将其理解为粘贴

delete

                 你可以将其理解为删除

find

                      相当于查找

find usages

                  用于查找指定符号(例如变量、函数、类等)在整个代码库中的使用方式。这个功能让您能够快速了解代码中的特定符号被何处引

column selection mode

                                  举一个例子吧                                   

现在,假设你想要在这些变量的赋值号(=)的位置插入相同的文本。通过启用 "Column Selection Mode",您可以轻松地在赋值号的列上进行文本选择,然后在选中的位置同时插入文本。

要使用 "Column Selection Mode",可以按住 Alt 键(在 Windows 或 Linux 中)或 Option 键(在 macOS 中),然后使用鼠标拖选或者箭头键进行选择。

通过使用 "Column Selection Mode",您可以以列的形式选择文本,从而更高效地进行同时编辑多行相同位置的文本内容。

select all

全选

add carets to ends of selected lines

                                    Add Carets to Ends of selected Lines" 功能是一种多光标编辑特性。当您使用此功能时,它会在每行的末尾添加一个光标,允许您同时编辑多行文本。

要在每行代码的末尾同时添加分号(;),您可以使用 "Add Carets to Ends of selected Lines" 功能。

首先,选择这几行代码。然后在PyCharm中调用 "Add Carets to Ends of selected Lines" 功能。PyCharm 将在每一行文本的末尾添加光标。随后,您可以同时输入分号(;),这样在所有选定的行中会同时添加一个分号。

这个特性允许您以一次将光标同时放在多行文本的末尾,让您能够在多行文本中进行一次性的编辑操作。

shrink selection

  

如果您希望编辑result = x + y这一行代码,但当前选择范围包括了整个result = x + yreturn result两行代码,您可以使用Shrink Selection来缩小选择范围,以便只选择result = x + y这一行代码。

首先将光标放置在result的开头,然后按下快捷键Ctrl+W(在Windows和Linux中)或Cmd+W(在Mac中)。这将缩小当前选择范围,使其仅包括result = x + y这一行代码。这样您就可以更精确地编辑这一行代码,而不用手动拖动鼠标或使用键盘进行文本选择。

toggle case

   例如,如果您有一个单词Hello,通过使用Toggle Case功能,您可以将其切换为hELLO,然后再次切换回Hello。这对于在编辑代码时或更改文本的格式时非常方便。

join lines

 执行前

"Join Lines"是一个非常有用的功能,它允许您将多行文本合并成一行。

要使用"Join Lines"功能,在编辑器中选中您想要合并的多行文本,然后按下快捷键Ctrl+Shift+J(在Windows和Linux中),或者Cmd+Shift+J(在Mac中)。这将把所选的多行文本合并成一行。

执行后

Duplicate line

PyCharm的Edit选项卡中,"Duplicate Line"是一个非常实用的功能,它可以帮助您快速复制一行或多行文本 例如你有一下代码您可以将将光标放置在您想要复制的行上,然后按下快捷键Ctrl+D(在Windows和Linux中)或Cmd+D(在Mac中)。这将复制当前行,并将其插入在原有行的下方。执行后

fill paragraph

在 PyCharm 的 Edit 选项卡中,并没有"Fill Paragraph"这个具体功能。Fill Paragraph 通常用于文本编辑器,它的作用是根据设定的格式,将文字段落中的文字重新排列成符合指定宽度的格式。

但是在 PyCharm 中,您可以使用 Code Style 设置来自动格式化代码。在 PyCharm 中,您可以转到 File -> Settings -> Editor -> Code Style 来配置您的代码风格和格式化选项。

sort lines

  1. 在选择好文本后,使用快捷键 Ctrl + Alt + S 或者通过菜单选择 "Edit" -> "Sort Lines"。

这样就会对选定的多行文本进行排序。这对于整理列表、配置文件、或者其他需要排列文本行的情况非常有用执行后

Reverse Lines

  1. 选中您想要逆序排列的文本行。

  2. 然后, 您可以通过以下几种方式之一来触发 "Reverse Lines" 功能:

    a. 使用快捷键 Ctrl+Shift+J(在 Windows 和 Linux 中),或者 Cmd+Shift+J(在 Mac 中)。

    b. 通过菜单选择 "Edit" -> "Reverse Lines"。 执行后

 Transpose

通过菜单选择 "Edit" -> "Transpose"如果您将光标放置在 'c' 的位置,或者选中 'c',然后执行 "Transpose",结果将如下所示: 

 Indent Selection

"Indent Selection" 功能可以用来缩进所选的文本行或代码块。这对于代码编辑中快速调整缩进非常有用。

要使用 "Indent Selection" 功能,您可以按照以下步骤:

  1. 首先,选中您要缩进的文本行或代码块。

  2. 然后,您可以通过以下方式之一来执行 "Indent Selection":

    a. 使用快捷键 Tab 进行向右缩进,使用 Shift + Tab 进行向左缩进。 

    如果您要将 print("Hello, world!") 这一行进行向右缩进,您可以将其选中并按下 Tab 键。这会将其缩进以使其处于适当的代码块中。

    这一功能对于快速调整代码缩进、增加代码可读性和一致性非常方便。

Unindent  line or Selection

取消 缩进

在PyCharm中,“Convert Indents”是一个功能,用于将文本的缩进风格从制表符(tab)转换为空格(space),或者从空格转换为制表符。这在代码规范化和风格调整时非常有用,因为有些团队或项目可能更喜欢使用空格来表示缩进,而另一些可能更倾向于使用制表符。

要在PyCharm中使用“Convert Indents”功能,可以按照以下步骤操作:

  1. 打开PyCharm,并加载您想要进行缩进转换的文件。
  2. 转到菜单栏中的“Edit”(编辑)选项。
  3. 在“Edit”下拉菜单中,可以找到“Convert Indents”选项。
  4. 在“Convert Indents”子菜单中,您可以选择将缩进转换为空格或制表符,具体取决于您的需求和项目规范。
  5. 选择相应的选项后,PyCharm将会自动执行缩进转换,根据您的选择修改文件的缩进风格。

需要注意的是,缩进转换是一个潜在影响广泛的操作,因此在执行此过程之前,请确保在版本控制系统中提交了您的更改,以便在需要时可以回滚到之前的状态。

通过这个功能,PyCharm可以帮助开发者轻松地在空格和制表符之间进行缩进风格的转换

macros

"Macros" 允许用户记录和重放一系列的编辑操作,从而可以提高工作效率

bookmarks

书签(Bookmarks)是用来标记代码中特定位置的功能。它们可以帮助你在代码中快速导航,并保存你想要再次访问的重要部分。一旦设置了书签,你就可以使用快捷键来轻松地跳转到这些位置。

在Spy Ctrl + F2 键。在折叠行的开始处单击,书签就会出现在那一行的前面列中。要导航到书签,你可以按下 F2 键

encode XML/HTML Special Characters

在浏览器中显示时,此段代码可能会被错误地解释为 HTML 标签的起始和结束。为了避免这个问题,你可以使用 "Encode XML/HTML Special Characters" 功能,在 PyCharm 编辑器中将代码编辑为:这 3 < 5 就会正确地显示为 3 < 5,而不会被解释为 HTML 标签。

view选项卡

Tool windows

 View选项卡中的Tool Windows是用来管理项目中的各种工具窗口的地方

其子选项卡

Commit 面板用于管理版本控制系统的提交操作。当你对项目进行修改后,可查看已更改的文件、编写提交信息,并将更改提交到版本控制系统(如 Git)

Commit工具窗口是用来提交代码更改到版本控制系统(如Git)的地方。通过Commit工具窗口,你可以查看已经修改的文件,编写提交信息,选择要提交的文件,并执行提交操作。这有助于将代码更改保存到版本控制系统中,以便日后跟踪和管理代码历史。(不过我们需要下载git)

在 Project 窗口中,你可以查看项目中的文件和文件夹,创建、删除、重命名文件,以及进行其他文件操作。此外,该窗口还允许你快速导航到项目中的特定文件或目录。 Project 工具窗口是管理项目文件结构和组织代码的重要工具。

书签允许你在代码中标记位置,以便日后轻松返回到那些位置。通过 Bookmarks 工具窗口,你可以查看所有已创建的书签列表,并快速导航到这些书签所在的代码位置。这样可以帮助你更高效地管理和浏览代码。 Bookmarks 工具窗口是一个方便的代码导航和管理工具。

通过该工具窗口,你可以输入搜索文本,并对项目中的所有文件进行搜索。该工具窗口还提供了一些高级搜索功能,例如支持正则表达式、整词匹配等。成功搜索到的结果会显示在 Find 工具窗口中,同时你还可以在搜索结果中直接进行替换操作,并跳转到相应的代码行。 Find 工具窗口帮助你快速定位和处理项目中的特定文本内容。

 Run 工具窗口用于管理项目的运行和调试操作。当你运行程序时,Run 工具窗口会显示程序的运行状态、控制台输出结果、程序执行过程中的错误或异常信息,以及调试过程中的变量和堆栈信息

识别和解决计算机程序中出现的问题或错误的过程发现和修复程序中的bug、逻辑错误和其他问题

“structure” 通常指代数据结构,即用来组织和存储数据的特定方式

允许您查看和管理系统中正在运行的服务(例如数据库服务、Web 服务等)。通过该功能,您可以检查已注册的数据源、数据库连接和服务

功能主要用于管理项目的源代码版本控制系统查看代码的修改历史执行提交和更新操作等

打开一个源代码文件时,可以使用 "Hierarchy" 工具窗口查看该文件中的类、方法、变量等信息,并进行快速导航和定位。

在 PyCharm 中的 "Tool Windows" 选项卡中,没有直接称为 "Learn" 的功能。然而,PyCharm 提供了一系列功能丰富的工具窗口,以支持开发者学习和提升他们的编程技能。这些工具窗口旨在提供代码导航、调试、代码分析等功能,从而帮助开发者更好地理解和利用编程语言、框架和库。

Notifications工具窗口提供了一个显示系统通知和警告消息的地方。这些通知可以是与版本控制相关的操作结果、运行配置的反馈、代码分析结果、插件更新等。

"Python Console"(Python 控制台)是一个重要的工具窗口,用于与 Python 解释器进行交互。通过 Python 控制台,您可以实时执行 Python 代码并查看结果,以及进行实验、调试和交互式开发。

用于在项目中管理 Python 包。该工具窗口允许您使用项目关联的 Python 解释器(虚拟环境)查看、安装、升级和卸载 Python 包。

例如:正在开发一个 Python 项目,并且需要在项目上下文中执行一些命令行操作。您可以打开 PyCharm 中的 "Terminal" 工具窗口,并使用以下一些常见操作:

  1. 安装 Python 包:您可以使用 pip 来在您的项目环境中安装所需的 Python 包。例如,您可以在终端中输入命令 pip install requests,以安装名为 "requests" 的 Python 包,这将允许您在项目中进行 HTTP 请求处理。

  2. 执行测试脚本:如果您有编写测试脚本或者其他的脚本文件,您可以通过终端执行这些脚本。例如,您可以输入命令 python test_script.py,以运行名为 "test_script.py" 的 Python 测试脚本并查看结果。

  3. 版本控制操作:您可以使用 Git 命令来执行版本控制操作,比如提交代码变更。在终端中,您可以输入命令 git add . 来添加所有未追踪的文件到暂存区,然后使用 git commit -m "Initial commit" 命令提交这些文件的修改。

  4. 管理系统命令:通过终端,您可以执行一些系统级的命令,比如查看当前目录下的文件列表(ls 命令),创建新的文件夹(mkdir 命令),或者在不同的目录之间切换(cd 命令)等。

,“TODO” 工具窗口位于 "Tool Windows" 选项卡中,用于显示代码中包含的待办事项(TODOs)以及代码注释。通过 TODO 工具窗口,开发人员可以轻松地查看和管理代码中未完成的任务,帮助他们跟踪代码开发进度、发现需要解决的问题以及待完成的工作。

可以通过 PyCharm 中的 TODO 工具窗口轻松地查看并管理这些待办事项

Appearance

其子选项卡

"Appearance"(外观)子选项。在这个子选项中,"Enter Presentation Mode"(进入演示模式)通常指的是一种特殊的屏幕显示模式,它会隐藏大部分IDE的工具栏、侧边栏等界面元素,只留下编辑区域,以便更好地进行代码展示或演示。这个功能通常会帮助用户在演示或分享代码的时候,让屏幕更为干净、专注于代码展示。

这个功能可以让你在编辑代码时,隐藏掉大部分的界面元素,使你可以集中精力在代码的编写上,同时减少界面上的干扰。

进入 Distraction Free 模式后,通常会隐藏掉菜单栏、工具栏、边栏等,让编辑器中只显示代码,并提供最基本的操作选项,以减少外界干扰,提高编码效率。

"Enter Full Screen" 选项通常允许用户将编辑器切换到全屏模式。这意味着编辑器会占据整个屏幕,隐藏操作系统的任务栏和窗口装饰(标题栏、关闭按钮等),以提供更大的编辑区域,使得用户能够更专注地编写代码。通过全屏模式,用户可以最大程度地利用屏幕空间,减少其他视觉干扰,从而更好地专注于编程任务。

Enter Zen Mode" 意味着进入专注模式。在这种模式下,编辑器会占据整个屏幕,并隐藏侧边栏、标签和其他视觉干扰,以便让用户专注于编写代码。这有助于创造一个更沉浸式的环境,可以提高专注度,帮助用户更有效地完成编程任务。

Zoom IDE (Current: 100%)" 通常允许用户调整整个集成开发环境(IDE)的缩放级别,以改变代码编辑器和界面元素的大小。通过更改缩放级别,用户可以放大或缩小显示的文本和图标,以适应其个人偏好或视力需求。这个功能对于调整编辑器显示以适应不同的屏幕大小或分辨率尤为有用。

"Main Menu" 选项通常用于启用或禁用主菜单(Main Menu)。当主菜单被禁用时,编辑器会隐藏顶部的菜单栏,即文件(File)、编辑(Edit)、查看(View)等菜单选项,从而最大化编辑区域的可视空间。这对于需要更多屏幕空间来显示代码内容,并且不常使用菜单栏选项的用户来说,可能会提高工作效率。

启用主菜单时,菜单栏将重新显示,以便用户可以轻松访问各种功能和操作。

Toolbar" 选项通常用于启用或禁用工具栏。工具栏位于编辑器顶部,包含了一系列按钮和快捷操作,用于执行常用的命令和功能,如运行程序、调试、保存文件等。启用工具栏可以让用户以图形化的方式快速执行这些操作,从而提高工作效率。

当禁用工具栏时,编辑器将隐藏顶部的工具栏区域,这有助于腾出更多的编辑区域空间,适用于用户希望最大程度利用编辑器窗口作为代码编辑区域的情况。

"Navigation Bar" 选项通常用于启用或禁用导航栏。导航栏通常位于编辑器的顶部或侧边,提供了一种快速导航到代码的方式。

启用导航栏后,用户可以直观地查看并导航到不同的代码部分,比如类、函数、变量等。导航栏通常包括了一系列代码结构的快速链接,使得用户可以轻松地导航和定位到不同的代码位置。

禁用导航栏可能有助于最大化编辑区域的可视空间,适用于用户希望专注于代码编写而不需要导航帮助的情况。

Tool Window Bars" 选项通常用于启用或禁用工具窗口栏。工具窗口栏是编辑器界面中包含了各种工具窗口的区域,比如项目浏览器、版本控制、终端等。启用工具窗口栏会在编辑器界面中显示这些工具窗口的标签,使用户可以方便地切换和管理各个工具窗口。

禁用工具窗口栏可能会隐藏这些标签,以提供更大的编辑区域空间。这对于用户希望专注于代码编写而不需要频繁切换和管理工具窗口的情况可能会有所帮助。

,"Status Bar" 选项通常用于启用或禁用状态栏。状态栏位于编辑器界面底部,通常显示了一些关于编辑器状态和当前文件的信息。

启用状态栏后,用户可以从状态栏中获取到编辑器的一些关键信息,比如文档编码格式、行号、列号、代码行尾的空格数量、换行符类型等。此外,一些编辑器还会在状态栏中显示诸如编码处理、文件类型和行尾信息等。状态栏还可以包含与代码运行或调试相关的信息,如执行过程中的错误和警告、代码分析结果等。

禁用状态栏通常会隐藏这些信息,以提供更大的编辑区域空间。这对于用户希望专注于代码编写而不需要这些信息的情况可能有所帮助。

"Status Bar Widgets" 选项通常用于启用或禁用状态栏小部件。状态栏小部件是状态栏中的可定制组件,用于在编辑器底部显示额外的信息。

通过启用状态栏小部件,用户可以在状态栏中添加各种小部件,比如代码检查器、版本控制状态、代码运行状态等。这些小部件能够提供有关代码质量、版本控制状态或代码执行状态的实时反馈。

禁用状态栏小部件可能会隐藏这些额外的信息,以提供更大的编辑区域空间。这对于用户希望专注于代码编写而不需要这些额外信息的情况可能有所帮助。

 PyCharm 编辑器中,"Details in Tree View" 选项通常指的是在项目视图(Project View)或者其他类似的树形视图中,显示有关文件和目录的额外详细信息的功能。启用这个选项后,可能会在树形结构中显示更多的文件属性、路径、大小、最后修改时间等信息,以帮助用户更好地了解项目结构和内容。这有助于方便用户在项目中查看和管理文件、目录,并了解它们的详细信息。

,"Members in Navigation Bar" 选项通常用于控制导航栏(Navigation Bar)中显示成员(members)列表的功能。启用这个选项后,导航栏中可能显示当前编辑文件中的类、函数、变量等成员列表,使用户可以方便地快速导航到不同的成员。这有助于浏览和导航源代码文件中的各种成员,并快速定位到所需的成员位置。

Quick Definition" 功能通常用于快速查看代码中符号(例如变量、函数、类等)的定义。当你将光标悬停在代码中的变量、函数、类或其他符号上时,可以使用 "Quick Definition" 来快速预览该符号的定义,而无需打开其他文件或跳转到定义的位置。这个功能有助于在查看源代码时提高效率,特别是在阅读他人的代码或者在大型项目中工作时。

Quick Type Definition” 功能用于快速查看代码中类型的定义。当你将光标悬停在代码中的类型(如类、变量等)上时,可以使用 "Quick Type Definition" 来快速预览该类型的定义,而无需打开其他文件或跳转到定义的位置。这个功能有助于在查看源代码时提高效率,特别是在阅读他人的代码或者在大型项目中工作时。

,它通常在你键入函数或方法时提供实时的参数信息。当你输入函数名并开始输入参数时,PyCharm 会通过显示定义的函数或方法的参数列表来帮助你补全代码。这有助于提醒你函数或方法需要哪些参数,并显示其他相关的信息,比如参数的类型和文档注释。 Parameter Info 功能可以帮助你更准确地编写代码,确保你按照正确的参数信息来调用函数或方法。

Type Info选项卡显示了你的代码选择内容的类型信息。通过它,你可以更好地理解你的代码中使用的数据类型

更好地了解代码中光标位置的变量、函数等的信息这个功能能够提供你需要的上下文信息

Recent Files选项卡显示了你最近打开过的文件列表,让你可以轻松地返回到之前正在编辑的文件。通过这个选项卡,你可以快速浏览最近使用的文件,提高了编辑和切换文件的效率。这是一个很有用的小工具,可以让你更流畅地进行编码。

显示了你最近改动过的文件列表,让你可以快速找到最近作出更改的文件。这对于跟踪你的编辑过程、回顾最新的更改非常有帮助,可以让你更方便地管理你的项目。当你在不断修改文件时,这个功能能够让你更有条理地查看并回顾你的工作。

Recent Locations选项卡显示了你最近访问的代码位置列表,可以让你快速定位到之前浏览过的位置。

通过它,你可以快速回顾最新的更改,查看版本控制下的文件修改情况,以及方便地进行代码审阅和版本管理

用来比较你代码与剪贴板中的内容

Quick Switch Scheme 可以让你快速切换不同的方案,比如编程语言

Active Editor" 选项卡用于显示当前激活的编辑器

增加所有编辑器中的字体大小

增加所有编辑器中的字体大小

重置所有编辑器中的字体大小

选项用于设置文本的基础方向,即从哪个方向开始显示文字。Bidi Text Base Direction 设置可用于处理阿拉伯语和希伯来语等具有从右到左文本方向的语言。

然而,请注意,实际情况会根据所使用的 PyCharm 版本和配置有所不同。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值