Datawhale-Python基础-Day1-Python初体验
1. 环境搭建
a) anaconda环境配置
anaconda 是一个基于Python的环境管理工具. 相比其他库管理工具,它更适合数据工作者。 anaconda包含了conda、Python在内的超过180个科学包及其依赖项。笔者计算机已配置anaconda环境,此步骤省略。
b) 解释器
我们编写的python程序需要python解释器翻译才可以被计算机理解,python解释器有很多种,常见的还是官方自带的CPython解释器。
2. python初体验
print和input分别是python中的输出和输入函数。
a) print
print()可以向屏幕上输出括号内指定的内容,print()函数可接受一个或多个字符串,多个字符串用逗号“,”隔开,就可以连成一串输出,会以空格间隔开。
print("Very happy to join Datawhale") #Very happy to join Datawhale
print("a", "b", "c") #a b c
b) input
input()可以让用户输入字符串,并存放到一个变量里。
age = input()
运行上行代码后,终端会等待用户输入,输入的内容会保存到age变量。
3.python基础
a) python变量特性+命名规则
- 变量特性
python中的变量类型不固定,可随时改变,因此python是动态语言,比较灵活。 - 命名规则
变量名必须是大小写英文、数字和_的组合,且不能用数字开头。
b) 注释方法
Python中的注释有单行注释和多行注释
Python中单行注释以 # 开头
#这是一行注释
多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来
"""
这是一行注释
这是一行注释
"""
注:最好使用固定的注释风格,不要随意更换。
c) python中“: ”作用
":"出现在函数定义语句末尾、if for while语句末尾,表示下面的代码块应当缩进,从属于if for while语句
if age >= 18:
print('adult')
":"出现在字典定义当中用于分开键和值
d = {'a':97, 'b':98, 'c':99}
d) 学会使用dir()和help()
- dir()
dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
dir() # 获得当前模块的属性列表
dir([ ]) # 查看列表的方法
- help()
help() 函数用于查看函数或模块用途的详细说明。
a = [1,2,3]
help(a) # 查看列表 list 帮助信息
help(a.append) # 显示list的append方法的帮助
e) import使用
每一个.py文件都是一个Python模块,模块定义好后,我们可以在一个模块中使用 import 语句来引入另一个模块。例如:
import math
当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。
搜索路径是一个解释器会先进行搜索的所有目录的列表,Python 解析器对模块位置的搜索顺序是:
1、当前目录
2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
3、如果都找不到,Python会察看默认路径。
模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
f) pep8介绍
pep8是一个python的编码规范,需要我们每一个人去遵守,具体内容见这里。
4.python数值基础知识
a) python数值类型,int, float, bool, e记数法等
-
整数
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。 -
浮点数和e记数法
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法也是精确的),而浮点数运算则可能会有四舍五入的误差。 -
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(需注意大小写)。
布尔值可以用and、or和not运算。
b) 算术运算符
python主要的算术运算符有+ - * / % ** //
a = 2
b = 3
c = 0
c = a + b #5
c = a - b #-1
c = a * b #6
c = a / b #0.6666666666666666 除法,结果精确
c = a % b #2 取模
c = a**b #8 幂运算
c = a//b #0 取整除
c) 逻辑运算符
python主要的逻辑运算符有and or not,分别对应c语言的&& || !
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
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 |
d) 成员运算符
成员运算符有in和not in,对于in,如果在指定的序列(可以是字符串,列表或元组等)中找到值返回 True,否则返回 False。
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
print ("a 在列表中 list 中")
else:
print ("a 不在列表中 list 中")
if ( b not in list ):
print ("b 不在列表中 list 中")
else:
print ("b 在列表中 list 中")
e) 身份运算符
身份运算符用于比较两个对象的存储单元,分为is和is not。
is 是判断两个标识符是不是引用自一个对象。x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False。
注:id() 函数用于获取对象内存地址。
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
f) 运算符优先级
常见的运算符优先级顺序如下:
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 ‘AND’ |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is, is not | 身份运算符 |
in, not in | 成员运算符 |
not, and, or | 逻辑运算符 |
总结与心得
我深知自己有严重的拖延症,很长时间以来一直想去克服这个缺点,但一直没见成效,越拖反而只会越严重。写完这篇博客后,我发现参加这次小组学习活动真是一个正确的决定,这督促了我能按时按量地学习,还能和小伙伴们一起学习交流。当然,学习积极性还是要发挥自己的主观能动性,这样才能坚持的更久。
之前自己也接触了python,不过只是一些皮毛,这次想系统地开始学习。第一天的学习内容按理来说是简单的,但还是发现了一些自己不知道的内容,说明学习方法和掌握程度还是有待改进的。
另外,之前的自己没有记笔记写博客这种类似的习惯,现在我发现这是很高效的学习方式,记录的学习内容和心得既方便之后查看,也是一种学习成长之路的积累与沉淀,希望自己能在其他方面也将这样的方法用起来。