Python自学——开始

PyCharm安装注意事项

由于Python、PyCharm、anaconda的安装介绍已经不胜枚举,我就直接忽略了。值得注意的是有一些安装后配置的小细节,或许有些需要注意。

  1. Python2、Python3的两个版本如果同时安装的话,系统(win)只能使用其中一个解释器运行当前的代码:如图 在终端命令窗口虽然可以来回切换Python版本,但是默认的解释器版本是系统的环境变量里PATH中最靠前的那一个版本,因此要根据适合自己实际用途的版本调整PATH环境变量中Python的版本顺序。 如图
  2. PyCharm在安装时基本傻瓜式,但在新建项目时,由于我们使用anaconda作为包管理工具,因此需要在新建窗口设置Python的版本来源: 如图
  3. anaconda安装即将结束时,会提示是否安装VS Code工具,建议安装,此工具的自动补全等插件十分好用。对了,anaconda和VS Code安装时可以选择自动添加环境变量到PATH中,建议安装时选中。 如图

Python变量、注释、数据类型

先说注释,比较另类,不同于C、C++、java等等//的单行注释方式,Python采用#符号代表单行注释。此外,‘‘‘XXX’’’三个单引号包裹的注释方式也很奇葩。。。

变量

Python中变量声明的时候必须赋值,即使为空。但有意思的是,在Python中空值为<kbd>None</kbd>,对比其他语言:

// javascript
var null_variable = null;

// PHP
$null_variable = NULL;

// Java
SomeObject null_object = null;

写习惯了别的与语言真的好容易打错...

此外,Python是动态语言,相对于静态语言的变量必须在声明前写变量类型,Python则不需要; Python3 中有六个标准的数据类型: Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典) Python3 的六个标准数据类型中: 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组); 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)

Python3的数字有五种:int、float、bool、complex(复数)。 整数包含正负号,并且代表长整型。

在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。

List列表是应用比较多,列表的切片或者说截取更是重点:

一台电脑里可以同时安装cuda pytorch和CPU pytorch吗_Python

图片转自RUNOOB.COM 此外,在截取列表或是字符串时,可以调整间隔和方向:

lis = [x:y:z]
# x,y上图已经说明,z的正负号代表从左至右或从右至左,z-1的值代表间隔的数量
lis = ['a','b','c','d','e']
t = lis[-1:-4:-2]
print(t)

>>>['e', 'c']

List: 基本的<kbd>List[index]</kbd>查就不说了,可用的还有<kbd>max()、min()</kbd>等等在函数里面再写吧。

list0 = [1, 2, 3, 4]
# p代表插入的元素,index为下标
# 增
list0.append(p)			# 末尾扩展增加
list0.insert(index, p)  # 找到下标对应的元素,并在该元素之前插入

# 删
list0.pop(index)		# pop函数默认index=None,删除末尾元素,同时pop操作有将返回取出的元素
list0.remove(p)			# 删除p元素,若无此元素会报错
del(list0[index])		# del函数删除列表中对应index元素,可以切片删除,如果直接删除会清除内存

Tuple元组的操作方式与List相似,不同之处是元祖不可以修改元素,但是可以修改元素中可变类型,例如元组中的List包含的元素可以被修改:

tpu = ('a', 2, [3, 4, 5])
tpu[2][0] = 6
print(tpu)

>>>'a', 2, [6, 4, 5]

Dictionary字典中的值为键值对,“键”:“值”这样一对组成,“键”只能为不可变数据,一般不重复,如果重复靠后的键的值会覆盖前面。

dic0 = {'name1':'身高', 'name2':'身高'}
dic1 = {'name0':{'女朋友':[a, b], 'addr':'qqq'}, 'name1':{'女朋友':c, 'addr':'www'}}

Set集合的表达方式也是<kbd>{}</kbd>,集合中不允许出现重复数据,因此可以通过对列表的强制转换,高效去除重复数据。 Set本质是无序的,不可以使用<kbd>set[index]</kbd>的方式。可以使用.add()的方式来增加元素。并且可以求并集、交集等。

list0 = [1, 2, 2, 3, 4, 2]
print(set(list0))
list1 = list(set(list0))
print(list1)

>>>{1, 2, 3, 4}
>>>[1, 2, 3, 4]

Print

Print改参和格式化输出:

# 改参
print(1, 2, 3, sep='c')

>>>1c2c3

# 格式化输出
a, b = 1, 2
print('%d+%d=%d'%(a,b,a+b))		# %s为字符串,%d为整数,%f为浮点数

>>>1+2=3