python全系列官方中文文档,python官方文档中文版pdf

这篇文章主要介绍了python官方帮助文档中文版,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

一些Python的知识点,和基础题目,到字典,本人使用的工具为Pycharm2021社区版,前面都是一些基础问题,然后我在解决问题的同时也可能会扩展一些知识,都是一些比较基础的东西,由浅入深GPT改写

001 关于变量更新

a = 2
a = 4
a = 6
print(a + a + a)

提示:Python是从上到下读取和执行代码的

答案当然不是12了,解释一下,首先Python中的变量赋值有点类似于C语言当中的指针,它首先把a指向了2的存储地址,所以刚开始等于2,然后又指向了4,a的值有变成4,同理最后变成了6,所以最后的结果就是:

18

002 变量名规则

看如下代码会有什么错误?

a = 1
_a = 2
_a2 = 3
2a = 4

这题主要考察变量如何命名,首先Python的变量由数字,字母和下划线组成,而且要以字母或者下划线开头而不能以数字开头,不能使用关键字和函数来当变量,Python变量是区分大小写的,下面就是运行代码的错误提示,invalid syntax就是语法错误,因为2a是以数字开头。

File "D:/Pycharmproject/P_100个编程实例.py", line 4
    2a = 4
     ^
SyntaxError: invalid syntax

003 比较与赋值

执行下面代码,你会发现什么错误?

a = 1
b = 2
print(a == b)
print(b == c)

当然很简单,会报错说,变量c没有被定义,这就好比你们正在干活突然就过来一个陌生人,说要帮你干活,你信的过吗,所以说,变量需要先被声明定义,才能被使用,看一下错误代码。

Traceback (most recent call last):
  File "D:/Pycharmproject/P_100个编程实例.py", line 4, in <module>
    print(b == c)
NameError: name 'c' is not defined
False

能看懂代码错在哪里很重要,能够让你更快的去修改代码!

004 类型错误

a = 1
b = "2"
print(a + b)

这是一道很基础的错误,相信不管学过哪种语言基础的人都能看的出来,数字与字符串是不能相加的,因为类型不一样,所以如何不更改前两行改正过来呢,那就是需要使用两个转换函数了,我们来看代码。

a = 1
b = "2"
print(int(b) + a)
print(str(a) + b)

int()函数可以把字符串转换成数字,当然字符串里面要是数字。

str()函数可以把数字变成字符串。

看结果:

3
12

第二个结果是12,是为什么,因为字符串相加结果是连接在一起,当然Python中的字符串是不能相减的

005 缩进错误

for letter in 'hello':
    if letter == 'e':
    print(letter)

运行提示错误:

IndentationError: expected an indented block

看题目就知道就是缩进的错误,我们学别的语言的时候可能缩进差那么一点半点也没什么关系,但是Python就不一样了,可以说的上缩进是Python的半条命了,这么说可能会很夸张,我只想表达缩进对于Python很重要。

欧克,我们解释一下上面错误的原因,if判断语句下面的控制体,需要增加一个缩进,相同等级的语句可以在同一个缩进下。

注意!缩进可以是两个空格,四个空格,tab键都可以,但是单个文件必须前后一致

改完之后代码:

for letter in 'hello':
    if letter == 'e':
        print(letter)

下面讲个小技巧,可以更改缩进配置。

图1

 在Pycharm右下角点击四个空格,点击为Python配置缩进,可以进行更改。

006 不正确的结束

下面代码会报错,错在哪里,如何修改?

print(type("hey".replace("ey","i")[-1])

我们先来看一下报错:

SyntaxError: unexpected EOF while parsing

这是什么意思呢,简单来说就是发现了不正确的文件内容结尾,在我们的代码中如果你仔细观察就会发现,它结尾少了一个括号,所以报了非正常结束EOF错误

007 关键字错误

寻找下面代码的错误

pass = input("please enter your password:")

看样子似乎好像没有错误对吧,但事实上它会报错为语法错误,这是因为pass是Python保留的关键字,所以不能当作变量名你可以改成pass1,pass_s等等

列举一下常见的Python关键字,在Pycharm中运行下列代码:

print(help("keywords"))

输出为:

008 名字未定义 

修改下列代码,使之正确输出3

print((9))

当你输入上面代码的时候,会显示:

NameError: name 'math' is not defined

这是因为math是Python的内置模块,但是不会自动引入,你只需要在开头使用import math就欧克

import math
print((9))

这里提一大嘴,如果不是内置模块(库/包)怎么办,那就要进行下载,我们这里说的都是Pycharm中的方法。

常用的办法就是在终端输入:pip install xxxx(你想下载的模块名)

我这已经下载过了,所以显示已经安装过 

还有种方法,直接搜索,废话不多说,直接看图:

 我这把字体改成了中文,如果没改的话应该是setting

 然后找到你的项目,点击Python解释器,点击+号进行搜索

然后点击安装就ok了

009 序列索引

输出结果是什么?

letters = ["a","b","c","d"]
print(letters[1])

这个代码输出结果是a吗?

答案是否定的结果是b,因为列表中的下表是从零开始的,使用下表可以访问对应位置元素。

010 序列切片

输入子序列包含b,c,d

letters = ["a","b","c","d"]

直接看答案,没什么好说的,记住就ok

print(letter[1:4]

注意一下这里[1:4]是左开右闭的,就是1-3,包括1,2,3但是不包括4

011 序列前位置切片

输出前三个元素的子序列,用一种更简写的方法

letters = ["a","b","c","d"]

可以这么写

print(letters[:3])

这里[:3]也就相当于[0:3]

012 负数索引

使用负数索引,输出字母c,我们还用上面的letters。

怎么个负数索引法呢,通俗的来讲就是,从前往后数就是0,1,2,3...。从后往前数就是-1,-2,-3...

所以我们要输出字母c就可以:

print(letters[-2])

013 负数切片

得到最后三个元素,我们的例子比较短,如果是比较长的列表,用负数索引是很方便的,所以如果使用负数索引代码是:

print(letters[-3:])

意思呢就是下标为-3的元素到最后一个元素

014 序列索引步长

letters = ["a","b","c","d","e","f","g","h","i"]

如何获得切片,包含:a,c,,e,g,i元素

这就要用到切片步长语法,所以这样写:

print(letters[::2]

[start:end:step],[开始位置:结束位置:步长]

如果step位置不写参数,默认是1.

[:]意思是整个列表,所以代码中[::2]的意思就是,输出从开始到结尾,步长为2的元素

015 range函数

使用函数生成如下列表:

[1,2,3,4,5,6,7,8,9,10]

提示:使用range函数

欧克,代码是:

a = range(1,11)
print(list(a))

range是Python的内置函数,可以生成数字序列,range函数生成的是一个range对象,不是Python的list,所以需要使用list()函数,把range对象转化成list对象

016 range和推导式

完成如下代码

a = range(1,11)

你需要使用a变量完成,最总产生如下输出:

[10,20,30,40,50,60,70,80,90,100]

提示使用列表推导式完成:

a = range(1,11)
print([x * 10 for x in a])

列表推导式用于快速生成一个列表,形如:[x*2 for x in list if x>3]

017 range字符串

a = range(1,11)

需要输入为:

['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

提示使用列表推导式:

举一反三,所以方法就是:

print([str(x) for x in a])

018 移除重复元素

完成代码,移除列表中的重复值

a = ["1",1,"1",2]

最终产生如下输出

["1",2,1]

提示:Python中的set是没有重复元素的,可以借助set和list两个函数完成

两种方法:

第一种:

a = ["1",1,"1",2]
a = list(set(a))
print(a)

set函数可以把list变成set达到去重效果,对于set可以用list函数从新变回列表,这个办法有点问题,可能会改变元素顺序,因为set里面的元素是不固定的。

第二种:

a = ["1",1,"1",2]
b = []
for i in a:
    if i in a:
        if i not in b:
            b.append(i)
print(b)

这个办法可以保持元素的顺序,问题在于这个方法效率不高,对于每一个a的元素都要判断是不是在b列表,如果列表很大花费时间很长。

019 列表的排序

list1 = [20,40,30,50,10]
# 希望最终产生如下
# lsit1 is [50,20,30,20,10]

提示:即可排序

答案:

list1 = [20,40,30,50,10]
(reverse=True)
print("list1 is",list1)

可以实现排序,默认是升序,如果想要降序,加一个参数reverse=True

020,简单字典

创建一个字典,字典的key是a和b,字典的value是1和2

提示:两个方法,用大括号语法和dict函数

答案

dict1 = {"a":1,"b":2}
print(dict1)
dict2 = dict(a = 1,b = 2)
print(dict2)

dict是一个函数,可以用key=value方法进行,这时候a和b不用写成字符串的形式

021 访问字典元素

字典使用key来访问对应的value

这都是要记住的直接上代码:

d = {"a":1,"b":2}
print(d["b"])

022 字典元素加和

完成如下代码,计算key为a和b的值的加和,最终输入数字为3

直接访问value的值就ok了

d = {"a":1,"b":2}
print(d["b"]+d["a"])

023 字典KeyError

如下代码会报错

d = {"小明":"男","小红":"女"}
print(d["男"])

这是因为什么呢,这是因为这个是靠key去访问的,而你放进去的是一个value,所以会报错。

023 添加字典key

给如下代码新增一对key:value,key是c,value是3

提示:典是无序的,如果输出的c在b前面,不用管它。

答案:

d = {"a":1,"b":2}
d["c"]=3
print(d)

025 对字典使用函数

计算如下字典的所有value的数字之和

代码:

d = {'a': 1, 'b': 2, 'c': 3}
print(sum(d.values()))

d.values()返回一个类似于list的dict_values对象

sum()函数可以直接对dict_values对象求和

026 字典过滤

移除如下字典中所有value大于1的key:value对

d = {'a': 1, 'b': 2, 'c': 3}

过滤后应该有如下输出

{'a':1}

提示:可以使用字典推导式,使用d.item可以访问每个key:value对

答案:

d = {'a': 1, 'b': 2, 'c': 3}
d = {key:value for key,value in d.items() if value <= 1}
print(d)

字典推导式的形式,形如{key:value for 循环 if 条件} 的形式

027 格式化输出

创建一个字典key是a,b,c,value分别是列表1~10,列表11~20,列表21~30

最终产生如下输出

{'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
 'b': [11, 12, 13, 14, 15, 16, 17, 18, 19],
 'c': [21, 22, 23, 24, 25, 26, 27, 28, 29]}

代码:

from pprint import pprint
d = {"a":list(range(1,11)),
     "b":list(range(11,20)),
     "c":list(range(21,30))}
pprint(d)

lsit(range)组合可以把一串数字变成list,pprint打印数据,会比较整齐的输出

那怎么访问key=b的列表第三个元素

看代码:

d = {"a":list(range(1,11)),
     "b":list(range(11,20)),
     "c":list(range(21,30))}
print(d["b"][2])

先访问的d["b"]是一个列表,对这个列表使用下标[2]得到第三个元素

如何遍历上面字典

代码:

d = {"a":list(range(1,11)),
     "b":list(range(11,20)),
     "c":list(range(21,30))}
for key,value in d.items():
    print(key,"has value",value)


原文地址:https://blog.csdn.net/weixin_65158585/article/details/129968474

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值