Python学习笔记—day1—基础知识
- 一、环境搭建
- (一)anaconda环境配置
- 1.Anaconda是什么
- 2.Anaconda与Python的关系
- 3.Anaconda与Pycharm的关系
- 4.环境配置过程中遇到的问题
- (1)在初次安装Anaconda后在运行程序中仅能找到Anaconda prompt:
- (2)在卸载了之前安装的python再安装anaconda,在anaconda prompt中仍旧无法使用conda命令,会出现“'conda'不是内部或外部命令,也不是可运行的程序或批处理的文件”:
- (3)pycharm环境的配置
- 5.更新包
- (二)解释器(编译器与解释器的区别)
- 二、Python基础讲解
- 三、Python数值基本知识
- 四、Python初体验
一、环境搭建
(一)anaconda环境配置
我采用的版本是Anaconda 3 5.2.0,Python版本为Python3.7.0
1.Anaconda是什么
Anaconda包含canda,Anaconda Navigator以及许多scientific packages,用于管理包和环境。
2.Anaconda与Python的关系
如果将Python比作linux,那么Anaconda就类似于linux的发行版。其主要作用有两个,一个是管理包,包括报的安装,更新与卸载;二是管理环境,解决了多版本python并存以及不同版本包的运行问题。
3.Anaconda与Pycharm的关系
anaconda是一个科学计算环境,安装anaconda相当于安装了python以及众多的包和模块;而pycharm则是python的编译器,既可以直接在python环境下运行,也可以在anaconda中的python中运行。
4.环境配置过程中遇到的问题
(1)在初次安装Anaconda后在运行程序中仅能找到Anaconda prompt:
在安装软件时未选择第一个默认选项,即未加入环境变量。
(2)在卸载了之前安装的python再安装anaconda,在anaconda prompt中仍旧无法使用conda命令,会出现“'conda’不是内部或外部命令,也不是可运行的程序或批处理的文件”:
这时需要配置环境变量,计算机—>属性—>高级系统设置—>环境变量—>系统变量—>在path中添加anaconda的安装目录。这样就可以成功使用conda命令了,会出现如下界面:
(3)pycharm环境的配置
在安装anaconda后,由于删掉了之前的python需要对原来pycharm的编译环境进行重新配置,否则会出现以下情况:
在重新配置编译环境时,我采用conda命令重新构建scikit-learn环境,并将其通过pycharm中的existing environment将创建好的环境添加进去,成功解决了这一问题。
5.更新包
在终端输入conda upgrade --all,终端未报错并出现proceed<[y]/n>?此时输入yes,终端会下载并提取所有包.。
(二)解释器(编译器与解释器的区别)
1.解释器
(1)解释器的概念
解释器相当于翻译器,将高级编程语言一行行直译为系统可执行的指令,由于在每次运行时都需要将编程语言转化为另一种语言才能运行,因此解释器的程序运行速度较为缓慢。
(2)解释器运行程序的方法
直接运行高级编程语言;转化高级编程语言码到一些有效率的字节码并运行这些字节码(常见的有python,Perl,MATLAB等);以解释器包含的编译器对高级语言编译并指示处理器运行编译后的程序(常见的有UCSD-Pascal)。
(3)python解释器
当我们编写python代码时得到的是以.py为扩展名的文本文件,要运行代码就需要python解释器去执行.py文件。常见的python解释器有Cpyhton(官方版本的解释器),Ipython,PyPy,Jython,IronPython。
2.编译器
(1)编译器的概念
编译就是把高级语言变成计算机可识别的二进制语言。
(2)编译器与IDE的关系
IDE(intergrated development environment)指集成开发环境,也就是用于编辑代码、开发程序的应用程序,一般包含代码编辑器与编译器等;
编译器(compiler)将高级编程语言代码翻译成目标代码(如机器语言)的程序。
IDE包含编译器,也就是说编译器是IDE的一部分。
二、Python基础讲解
(一)Python的变量特性与命名规则
1.Python中的变量
(1)变量的概念
变量简单的来说就是编程中的基本存储单位,会暂时性地存放程序中的多种实体,可以是一个值、运行的另一个程序、一组数据或者一个文件。对于初学者而言变量更多的是代表一个值。
(2)变量的分类
2.1属性变量,用户自定义变量。属性变量是系统自动产生的对象,并为每个变量设置缺省值,用户可以直接引用它或者给它赋新值;用户自定义变量用于存放程序执行过程中产生的临时数据或结果数据等。
2.2全局变量,静态全局变量,静态局部变量,局部变量。
局部变量又称内部变量,局部变量是函数内做定义说明的,其作用域仅限于函数内,离开函数后再使用这种变量是非法的(允许在不同的函数中使用相同的变量名);
全局变量也称外部变量,是函数外部定义的变量,其作用域是整个源程序(在函数中使用全局变量应做全局变量说明;但在函数之前定义的全局变量在该函数内使用时可不再说明。在同一源文件内允许全局变量与局部变量同名,在局部变量作用域内全局变量不起作用)。
变量的存储方式可以分为静态存储和动态存储。“静态存储变量”定义时分配存储单元并一直保持不变;“动态存储变量”是在程序执行过程中使用时才给它分配存储单元。
(3)变量使用时的注意事项
3.1变量在命名时注意区分大小写(常见的一些命名规则:不能用数字开头);
3.2变量在使用前必须声明变量,即创建该变量;
3.3变量的赋值,“=”是赋值号,同一个变量可以多次赋值且可以是不同种类的变量。
(二)注释方法
1.注释的作用
说明这段代码的作用增加代码的可读性,或者删除一段暂时不需要执行的代码。
2.注释符号(以python为例)
python中注释必须是英文,若想使用中文注释,需要在脚本文件第一行添加**#coding utf-8:**
单行注释:以#来注释单行不需要运行的代码,注释代码会灰显,在程序运行时不会执行;
多行注释:以’’‘xxx’’'或""“xxx”""来注释多行代码,功能与单行注释相同。
3.注释技巧
3.1每个级别有统一的注释风格(各个级别的代码块,类,方法);
3.2使用段落注释(将代码块分为功能独立的段落);
3.3对齐注释,常用的操作有tab和空格键;
3.4写代码的同时完成注释,注意注释要简明扼要;
3.5更新代码的同时注意更新注释。
(三)Python中“:”的作用
1.python操作中的“:”
1.1切片操作(slice):从一个序列中提取一部分的方法,支持字符串、列表、字典、元祖,一般形式为X[I:J](所提取的内容包括I但不包括J);
1.2标准格式:
字典中的key-value的表达需要“:”分割,一般形式{key:value,…};
循环中在条件语句后加“:”,例如while和for循环,写了两个最简单的代码:
while(True):
print("good")
break
for i in [1,2,3]:
print(i)
在条件后输入“:”,回车,下一行会自动缩进;除此之外与while,for循环同时使用的else在使用时要在else后面直接加“:”。
定义函数,定义类时需要用“:”,例如定义一个和函数,里面的参数包括i和n,定义类用class与定义函数的格式类似。
def sum(i,n):
(四)dir()及help()的使用
1.help()函数
(1)help()函数介绍
help()是python中的内置函数,查看函数或模块用途的详细说明。在括号内填写参数,如函数,也包括模块,数据,字符串等实例。
(2)举例应用
以dir()函数的介绍为例:
help(dir)
运行结果如下:
2.dir()函数
(1)dir()函数介绍
dir()是python中的内置函数,用于返回任意对象属性和方法列表,对象包括模块,函数,字符串,列表,字典等。
(2)举例应用
注意:在应用时直接输入dir()函数,运行结果中不会显示所查询对象的属性和方法的,需要用print()函数将运行结果打印出来才能看到。
2.1查看列表的方法:在dir()函数中输入空列表,或列表实例返回的结果是一样的:查看字符串的方法与列表的方法类似,只需要将括号内的参数换位字符串或空字符“ ”。
print(dir([]))
x=["a","b"]
print(dir(x))
上述两个代码的运行结果相同,均会返回列表的方法
2.2查看模块属性和方法,如查看sys模块:
import sys
print(dir(sys))
运行结果为:
(五)import使用
1.import()函数的介绍
首先介绍一下模块,模块其实就是一些函数和类的集合文件,它能实现一些相应的功能。在python中可以用import或者from…import来导入相应模块,两者的区别:from…import是从某一指定的模块中导入特定的成员,一般尽量使用import()函数,使得程序更易懂。
import()函数可以在程序的任意位置使用,一个模块可以多次使用import()函数,但只有第一次导入时代码会被执行。
2.import()函数应用
运行代码及运行结果:
import sys
print('================Python import mode==========================');
print ('The command line arguments are:')
for i in sys.argv:
print (i)
print ('\n The python path',sys.path)
(六)pep8介绍
pep是Python Enhancement Proposal 的缩写,是基于Python主要发行版本的标准库的python代码编码规范,原文链接:
pep介绍
主要内容:
(1)代码布局——缩进;tab与space缩进的选择;所有行的最大字符数为79;允许在二元运算符之前或之后中断;空行(顶层函数和类的定义,前后用两个空行隔开);避免使用不必要的空格。
(2)标准库的导入。
(3)注释。
(4)命名规范。
具体解释可参考下面链接的内容:
pep8编码规范中文版
三、Python数值基本知识
(一)Python中的数据类型
python中的常见的数据类型包括:字符串(string)、布尔类型(bool)、数字(numbers)、列表(list)、元组(tuple)、字典(dictionary)、集合(set)等。
(1)数值类型:整型(int),浮点型(float);根据进制可分为:二进制数据 (数值前加0b表示:0b11),八进制数据 (数值前加0o表示:0o77),十进制数据,十六进制数据 (数值前加0x表示:0xFF)。
(2)布尔型:True和False
(3)常见的数据转化:
| 符号 | 含义 |
|---|---|
| int(a) | 把a转换成一个整数 |
| float(a) | 把a转换成一个浮点型数 |
| str(a) | 把a转换成字符串型 |
| repr(a) | 把a转换成表达式字符串 |
| eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
| tuple(s) | 把序列s转换成一个元组 |
| list(s) | 把序列s转换成一个列表 |
(二)算数运算符
(1)常见的算数运算符包括**"+","-","*","/","","//","%".
(2)除此之外整数型支持位运算,即对整型数对应的二进制数进行按位操作。有以下几种位运算:
(3)比较运算:
(三)逻辑运算符
常见的逻辑运算符有and,or,not
运行示例代码及运行结果:
a=10
b=20
if a and b:
print("True")
else:
print("False")
a=0
b=10
if a and b:
print("True")
else:
print("False")
if a or b:
print("True")
else:
print("False")
if not(a and b):
print("True")
else:
print("False")
(四)成员运算符
成员运算符常见用于列表,元祖,字符串中,包括“in”以及“not in”:
运行代码及运行结果:
a=10
b=20
c=[1,2,3,4,5,6,7,8,9,10]
if a in c:
print("True")
else:
print("False")
if b in c:
print("True")
else:
print("False")
(五)身份运算符
身份运算符用于比较两个对象的存储单元,身份运算符包括“is”和“not is”:
(六)运算符的优先级
运行代码及运行结果:
a = 20
b = 10
c = 15
d = 5
e=(a+b)*c/d
print(e)
e=a*c+c/d
print(e)
四、Python初体验
(一)print()
1.print()函数的作用
print()函数是将括号中的对象打印出来的一个函数。
2.print()的使用
print("hello world!")
print("what's your name")
点击“run”,在pycharm的运行结果窗口成功地出现了上面两句话。当直接输入print()时,会打印出一个空行。
(二)input()
1.input()函数的作用
等待用户在键盘上输入文字,并按回车。
2.input()的使用
myname=input("请输入你的姓名:")
print(myname)
其中myname是一个变量,将input()函数中输入的字符串赋值给myname,并用print()函数打印出来,运行结果为: