DataWhale学习计划(第六期):python基础任务1

1. 环境搭建

a) anaconda环境配置

简单介绍
Anaconda是Python的包管理器和环境管理器。Anaconda解决了官方Python的两大痛点:(1)提供了包管理功能,Windows平台安装第三方包经常失败的场景得以解决。(2)提供环境管理功能,解决了多版本Python并存、切换的问题。
安装
从https://www.anaconda.com/download/下载,
在这里插入图片描述
挺好安装的,一直点next,I agree,两个勾全勾上,第一个勾是是否把Anaconda加入环境变量,这涉及到能否直接在cmd中使用conda、jupyter、ipython等命令,推荐打勾。 第二个勾的意思是否把Anaconda自带的Python3.6设置成系统默认Python。在这里插入图片描述
配置环境
因为我是在windows下安装的,所以在控制面板\系统和安全\系统\高级系统设置\环境变量\用户变量\PATH 中添加 anaconda的安装目录的Scripts文件夹, 比如我的路径是F:\Anaconda2\Scripts, 看个人安装路径不同需要自己调整。
在这里插入图片描述
输入 conda --version,如果输出conda 4.5.11之类的就说明环境变量设置成功了。
在这里插入图片描述
为了避免可能发生的错误, 我们在命令行输入conda upgrade --all 先把所有工具包进行升级

b) 解释器

1.CPython
官方解释器:CPython。用C语言开发的。在命令行下运行python就是启动CPython解释器。

2.IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

3.PyPy
PyPy采用JIT技术,显著提高Python代码的执行速度。

4.Jython
运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

5.IronPython
运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
在这里插入图片描述

2. python初体验

a) print and input

  print('hello, world')
  name=input('请输入您的名字:')
  name
  print('hello,', name)

在这里插入图片描述

3. python基础讲解

a) python变量特性+命名规则

变量特性
变量不仅可以是数字,还可以是任意数据类型。变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头。变量分为属性变量和全局变量。
属性变量,用户自定义变量。属性变量是系统自动产生的对象,并为每个变量设置缺省值,用户可以直接引用它或者给它赋新值;用户自定义变量用于存放程序执行过程中产生的临时数据或结果数据等。
全局变量,静态全局变量,静态局部变量,局部变量。
局部变量又称内部变量,局部变量是函数内做定义说明的,其作用域仅限于函数内,离开函数后再使用这种变量是非法的(允许在不同的函数中使用相同的变量名);全局变量也称外部变量,是函数外部定义的变量,其作用域是整个源程序(在函数中使用全局变量应做全局变量说明;但在函数之前定义的全局变量在该函数内使用时可不再说明。在同一源文件内允许全局变量与局部变量同名,在局部变量作用域内全局变量不起作用)。
变量的存储方式可以分为静态存储和动态存储。“静态存储变量”定义时分配存储单元并一直保持不变;“动态存储变量”是在程序执行过程中使用时才给它分配存储单元。

命名规则

  1. 命名清晰、形象、易懂 eg:name=“Stronger”
  2. 不能以大写字母开头 eg:Name=“Stronger” 错误
  3. 变量名中不能出现空格,中间可由大写字母区分,也可由下划线分隔
    eg:studentNumber 或者student_number
  4. 不能以特殊字符作为变量名,可由字母和数字组合,但不能以数字开头
    eg:4name=“Stronger” 错误
    eg:name4=“Stronger” 正确
  5. 不能用中文命名,虽然不会报错,但这是规矩
    eg:姓名=“Stronger” 错误
  6. 保留字符不能被使用,比如(print、while、break…)
    eg:print=“print” 错误

b) 注释方法

python中注释必须是英文,若想使用中文注释,需要在脚本文件第一行添加**#coding utf-8:**
单行注释:以#来注释单行不需要运行的代码,注释代码会灰显,在程序运行时不会执行;

#这只是一个注释

行末注释:可以在一行代码的最后加注释;

area = length * width #计算矩形的面积

多行注释:在每行前面都有一个#字符;

# **********
# 这个程序用来说明Python中如何使用注释
# 星号所在的行只是为了将注释
# 与其它的代码清楚的分开
# **********

三重引号字符串:
Python中还有一种方法可以相当于多行注释。只需建立一个没有名字的三重引号字符串。

""" 这是一个包括多行的注释,
使用了三重引号字符串。
这并不是真正的注释,但是
相当于注释"""

注释技巧
1.每个级别有统一的注释风格(各个级别的代码块,类,方法);
2.使用段落注释(将代码块分为功能独立的段落);
3.对齐注释,常用的操作有tab和空格键;
4.写代码的同时完成注释,注意注释要简明扼要;
5.更新代码的同时注意更新注释。

c) python中“:”作用

切片操作(slice)
从一个序列中提取一部分的方法,支持字符串、列表、字典、元祖,一般形式为X[I:J](所提取的内容包括I但不包括J);
标准格式
字典中的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):

d) 学会使用dir( )及和help( )

dir()函数
dir()是python中的内置函数,用于返回任意对象属性和方法列表,对象包括模块,函数,字符串,列表,字典等。
在应用时直接输入dir()函数,运行结果中不会显示所查询对象的属性和方法的,需要用print()函数将运行结果打印出来才能看到。
1.查看列表的方法:在dir()函数中输入空列表,或列表实例返回的结果是一样的:查看字符串的方法与列表的方法类似,只需要将括号内的参数换位字符串或空字符“ ”。

print(dir([]))
x=["a","b"]
print(dir(x))

在这里插入图片描述
2.查看模块属性和方法,如查看sys模块:

import sys
print(dir(sys))
在这里插入图片描述
help()函数
(1)help()函数介绍
help()是python中的内置函数,查看函数或模块用途的详细说明。在括号内填写参数,如函数,也包括模块,数据,字符串等实例。

(2)举例应用
以dir()函数的介绍为例:

help(dir)

在这里插入图片描述

e) import使用

首先介绍一下模块,模块其实就是一些函数和类的集合文件,它能实现一些相应的功能。在python中可以用import或者from…import来导入相应模块,两者的区别:from…import是从某一指定的模块中导入特定的成员,一般尽量使用import()函数,使得程序更易懂。import()函数可以在程序的任意位置使用,一个模块可以多次使用import()函数,但只有第一次导入时代码会被执行。
对于在同一包下的不同子包内模块调用,则可以用在包内的绝对路径来调用(注意是包内的绝对路径而非系统的绝对路径),路径/用.来代替。路径如下:
在这里插入图片描述

#代码:#
import first.first_1.a1
 
m = first.first_1.a1.a + first.first_1.a1.b * first.first_1.a1.c - first.first_1.a1.d + first.first_1.a1.e * first.first_1.a1.f
print (m)

但是如果是大型项目的话按上面的方法调用就会很麻烦,这时我们可以使用as来指代某一个其他子包下的模块。

import first.first_1.a1 as f4
 
m = f4.a + f4.b * f4.c - f4.d + f4.e * f4.f
print (m)

f) pep8介绍

PEP8是针对python代码格式而编订的风格指南,采用一致的编码风格可以令代码更加易懂易读!
空白
python中空白会影响代码的含义及其代码的清晰程度

  • 使用space(空格)进行缩进,不采用tab
  • 每一层缩进都用4个空格表示
  • 每行字符数不超过79
  • 占据多行的长表达式,每一层的缩进都应该在上一层基础上再加4个空格
  • 文件中函数和类之间用两个空行隔开
  • 同一个类中,各个方法之间应该用一个空行隔开
  • 为变量赋值的时候,赋值符号两侧应该各自加上一个空格
    命名
    采用不同的命名风格来编写python代码,以便在阅读源码时可以根据名称看出它们在python语言语言中代表的角色
  • 函数,变量,属性使用小写字母拼写,各单词之间采用下划线相连,如extrct_title ,extrct_content.
  • 受保护的实例属性,以单个下划线开头,如_set_content
  • 私有的实例属性,以两个下划线开头,如__double_set_title
  • 类与异常,以每个单词首字母大写,如CapWord
  • 模块级别的常量,全部大写,单词间采用下划线相连,如ALL_SYSTEM_ENCODE
    -类方法中的首个参数,命名为cls,以表示该类自身
    表达式与语句
    python文件中的import语句应该放在文件开头
    import语句应该分为三部分,标准库模块,第三方模块,自用模块,每一部分的import语句应该按模块的字母顺序排列
    引入模块,应该采用绝对名称:from bar import foo ,而不是import foo
    不编写单行的if ,for, while,except复合语句

4. python数值基本知识

(感谢大佬分享Python学习笔记—day1—基础知识 - qq_43524117的博客 - CSDN博客 https://blog.csdn.net/qq_43524117/article/details/87939239)

a) python中数值类型,int,float,bool,e记法等

python中的常见的数据类型包括:字符串(string)、布尔类型(bool)、数字(numbers)、列表(list)、元组(tuple)、字典(dictionary)、集合(set)等。
(1)数值类型:整型(int),浮点型(float);根据进制可分为:二进制数据 (数值前加0b表示:0b11),八进制数据 (数值前加0o表示:0o77),十进制数据,十六进制数据 (数值前加0x表示:0xFF)。
补充E记法:
如果数位很多的话,一般将其表示为e记法形式,例如0.000000000000135用e记法表示为1.35e-13,它是一个浮点数类型
(2)布尔型: 布尔类型只有两个值,True 或False ,记得在Python里面这两个值首字母均大写。其中,True相当于1,False相当于0。
(3)常见的数据转化:
在这里插入图片描述

b) 算数运算符

(1)常见的算数运算符包括**"+","-","*","/","","//","%".
在这里插入图片描述
(2)除此之外整数型支持位运算,即对整型数对应的二进制数进行按位操作。有以下几种位运算:
在这里插入图片描述
(3)比较运算:
在这里插入图片描述

c) 逻辑运算

在这里插入图片描述

d) 成员运算符

成员运算符常见用于列表,元祖,字符串中,包括“in”以及“not in”:
在这里插入图片描述

e)身份运算符

身份运算符用于比较两个对象的存储单元,身份运算符包括“is”和“not is”:
在这里插入图片描述

f) 运算符优先

在这里插入图片描述

https://blog.csdn.net/z2858539804/article/details/81407456
https://blog.csdn.net/xc_zhou/article/details/82715612
https://blog.csdn.net/weixin_42295521/article/details/80502971
https://blog.csdn.net/qq_43524117/article/details/87939239
https://blog.csdn.net/qq_41851238/article/details/80906803
https://blog.csdn.net/weixin_40457797/article/details/83107487
https://blog.csdn.net/reallocing1/article/details/60583563
https://blog.csdn.net/shirley_sweet/article/details/74143432

猜你喜欢

转载自blog.csdn.net/weixin_43981221/article/details/88941749
今日推荐