Python基础知识(DAY 1)

环境搭建

Anaconda 可用于 Windows、Mac OS X 和 Linux。安装程序链接: https://www.anaconda.com/download/

anaconda环境配置

如果计算机上已经安装了 Python,这不会有任何影响。Anaconda使用自己附带的Python。

选择 Python 3.6 版本(你也可以根据具体的需要选择 Python 2 的版本)。如果是 64 位操作系统,则选择 64 位安装程序,否则选择 32 位安装程序。

完成安装后,打开Anaconda Prompt,可以进入Anaconda命令行模式。在其中执行 conda list,可以看到随Anaconda安装的包及其版本。

安装完成之后的主要应用程序:
Anaconda Navigator:用于管理环境和包的 GUI
Anaconda Prompt 终端:管理环境和包的命令行工具
Spyder:面向科学开发的 IDE

在安装完成之后,可以通过如下命令对包进行更新:

conda upgrade --all

Anaconda安装完成之后,可以通过命令conda install安装所需要的包。比如:

conda install numpy

当需要安装多个包时,可以执行类似这样的命令:

conda install numpy pandas

Python的不同包之间可能存在依赖关系,通过conda安装过程中,它会为我们解决所有依赖问题,将要安装的包所依赖的其它包也一并进行下载和安装。

如果需要指定安装某个特定版本的包,可以执行类似如下命令:

conda install numpy=1.10

可以使用命令conda remove <package_name>方式删除指定的包。

解释器

首先,理解介绍解释器的一个笼统概念:
编译器/解释器:高级语言与机器之间的翻译官,即将代码翻译成机器可以执行的二进制机器码,只不过不同解释器在运行原理和翻译过程有不同而已

python存在很多的解释器:
1)CPython:是官方版本的编译器,使用C语言开发的。在命令行界面输入python,启动的就是CPython解释器。
2)IPython:基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的
3)PyPy:PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。注意PyPy与CPython存在不同,若要使用PyPy,则需要了解两者的区别。
4)Jython:运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
5)IronPython:和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码

在anaconda中比较常用的Jupyter notebook源自 IPython,是一种交互式 shell。
Jupyter notebook 是一种 Web 应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。

在 conda 环境中,执行如下命令即可安装jupyter notebook:

conda install jupyter notebook

Python初体验

print

1)注意python3与python2的区别
python3中print输出需要使用括号

2)print默认输出换行,要实现输出不换行

python 3:
print(i, end = ‘’ )

python 2:
print i,

input

Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。

raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )

注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。

注意:在 Python3.x 中 raw_input() 和 input() 进行了整合,去除了 raw_input( ),仅保留了input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
对于两者的区别可查看:Python2.x 和 Python3.x 中 raw_input( ) 和 input( ) 区别

Python基础讲解

python变量特性+命名规则

变量作用:保存状态(程序的运行本质是一系列状态的变化,变量的目的就是用来保存状态,变量值的变化就构成了程序运行的不同结果。)

Python变量命名规则
1)变量名只能包含字母、数字和下划线。变量名可以字母或下划线开头,但不能以数字开头,例如,可将变量命名为message_1,但不能将其命名为1_message。
2)变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
3)不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
4)变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
5)python中变量区分大小写,即name和Name是两个变量

注释方法

Python中的注释有单行注释和多行注释:

Python中单行注释以 # 开头

#这是一个注释
print(“Hello, World!”)

多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来

#!/usr/bin/python3
‘’’
这是多行注释,用三个单引号
这是多行注释,用三个单引号
‘’’
print(“Hello, World!”)

python中“:”作用

python中“:”出现的场景不同,功能也不同:
1)出现在函数定义语句末尾、if for while语句末尾,

表示下面的代码块应当缩进,从属于if for while语句

for i in range(10):
print i #从属于for语句

2)出现在字典定义当中用于分开键和值:

d = {‘a’:97, ‘b’:98, ‘c’:99}

3)出现在列表等中,用于定义分片、步长,如

list1[:3:2],tul1[3:6:2]

学会使用dir()和help()

1)dir()函数
dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

dir() # 获得当前模块的属性列表
[‘builtins’, ‘doc’, ‘name’, ‘package’, ‘arr’, ‘myslice’]
dir([ ]) # 查看列表的方法
[‘add’, ‘class’, ‘contains’, ‘delattr’, ‘delitem’, ‘delslice’, ‘doc’, ‘eq’, ‘format’, ‘ge’, ‘getattribute’, ‘getitem’, ‘getslice’, ‘gt’, ‘hash’, ‘iadd’, ‘imul’, ‘init’, ‘iter’, ‘le’, ‘len’, ‘lt’, ‘mul’, ‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘reversed’, ‘rmul’, ‘setattr’, ‘setitem’, ‘setslice’, ‘sizeof’, ‘str’, ‘subclasshook’, ‘append’, ‘count’, ‘extend’, ‘index’, ‘insert’, ‘pop’, ‘remove’, ‘reverse’, ‘sort’]

2)help()函数
help() 函数用于查看函数或模块用途的详细说明。

help(‘sys’) # 查看 sys 模块的帮助
……显示帮助信息……

help(‘str’) # 查看 str 数据类型的帮助
……显示帮助信息……

a = [1,2,3]
help(a) # 查看列表 list 帮助信息
……显示帮助信息……

help(a.append) # 显示list的append方法的帮助
……显示帮助信息……

import使用

在了解import前需要先了解一下模块。

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

模块让你能够有逻辑地组织你的 Python 代码段。

把相关的代码分配到一个模块里能让你的代码更好用,更易懂。

模块能定义函数,类和变量,模块里也能包含可执行的代码。

模块定义好后,我们可以使用 import 语句来引入模块,语法如下

import module1[, module2[,… moduleN]]

比如要引用模块 math,就可以在文件最开始的地方用 import math 来引入。在调用 math 模块中的函数时,必须这样引用:

模块名.函数名

当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。

搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块 support.py,需要把命令放在脚本的顶端:

#!/usr/bin/python
import support
support.print_func(“Runoob”)
以上实例输出结果:
Hello : Runoob

pep8介绍

pep8是指python的编码规范。

主要从命名风格,相关参数,代码编排,文档编排,空格的使用,注释,文档描述,编码建议等方面对python的标准编码规范进行了介绍。

具体可查看:Python PEP8 编码规范中文版

Python数值基本知识

python中数值类型

python中的数值类型主要有:int,float,bool,e记法等

Python的数据类型:
1、字符串
Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。

字符串的截取的语法格式如下:

变量[头下标:尾下标]

Alt
Python 使用反斜杠()转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串

2、布尔类型

bool=False;
bool=True;

3、整数

4、浮点数

5、数字
Python3 支持 int、float、bool、complex(复数)。

在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

像大多数语言一样,数值类型的赋值和计算都是很直观的。

内置的 type() 函数可以用来查询变量所指的对象类型。

6、列表
List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

7、元组
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

元组中的元素类型也可以不相同

元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取

其实,可以把字符串看作一种特殊的元组

8、字典
字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

键(key)必须使用不可变类型。

在同一个字典中,键(key)必须是唯一的。

9、日期

算数运算符

以下假设变量: a=10,b=20:

运算符 描述 实例
+ 加 - 两个对象相加 a + b 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2
% 取模 - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
// 取整除 - 返回商的整数部分(向下取整) 9//2 -> 4

逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符 逻辑表达式 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

身份运算符

身份运算符用于比较两个对象的存储单元

运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 ‘AND’
^ 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符

猜你喜欢

转载自blog.csdn.net/m0_37803230/article/details/87932169