Python学习笔记——基础

Python基础学习笔记

  • 概述
  • 基础语法
    • Python标识符
    • Python 保留字符
    • 行和缩进
    • 多行语句
    • Python引号
    • Python注释
    • Python空行
    • Print输出
    • 代码组
  • 变量类型
    • 变量赋值
    • 标准数据类型
      • 数字
      • 字符串
        • 常用指令
      • 列表
      • 元组
      • 字典
    • 数据类型转换
  • 运算符
    • 算术运算符
    • 比较(关系)运算符
    • 赋值运算符
    • 逻辑运算符
    • 位运算符
    • 成员运算符
    • 身份运算符
    • 运算符优先级
  • 基础语句
    • 条件语句
    • 循环语句
      • While循环语句
      • for 循环语句
    • 零碎
  • 函数
    • 规则
    • 函数调用
    • 参数传递
    • 匿名函数
    • return语句
    • 变量作用域
  • 模块
    • 语句
    • 搜索路径
  • 文件I/O
    • 基础I/O
    • 打开和关闭文件
    • 读写文件
    • 重命名和删除文件
    • 目录
  • 常用函数
    • 数学运算
    • 模块
  • 报错解决

概述

软件:PyCharm for Mac
自学教程地址:菜鸟基础教程

基础语法

以下内容均整理自
菜鸟基础教程——Python基础语法

Python标识符

  1. 标识符由字母、数字、下划线组成。
  2. 所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头
  3. 区分大小写
  4. 下划线开头的标识符有特殊意义,列举如下:
标识符 意义
单下划线开头 _foo 代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入
双下划线开头的 __foo 代表类的私有成员
双下划线开头和结尾的 foo 特殊方法专用的标识, 如 __init __() 代表类的构造函数
  1. 可以同一行显示多条语句,方法是用分号 ; 分开.

Python 保留字符

  1. 保留字不能用作常数或变数,或任何其他标识符名称
  2. 所有Python的关键字只包含小写字母
- - -
and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield

行和缩进

  1. Python的代码块使用缩进来写模块, 不使用大括号 {} 来控制类、函数以及其他逻辑判断
  2. 缩进的空白数量是可变的, 但是所有的代码块语句必须包含相同的缩进空白数量,必须严格执行
  3. 建议在每个缩进层次使用单个制表符两个空格四个空格, 切记不能混用

多行语句

  1. 可以用==斜杠(\)==将一行语句分为多行显示。
  2. 语句中包含 []{}() 不需要使用多行连接符。

Python引号

  1. 字符串表示可以使用 引号( ’ )双引号( " )三引号( '"或 " " "), 引号的开始和结束必须是相同类型的
  2. 三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释

Python注释

  1. 单行注释用 # 开头
  2. 注释可以在语句或表达式行末
  3. 多行注释使用三个单引号或三个双引号

Python空行

空行也是程序代码的一部分

  1. 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。
  2. 类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
  3. 空行与代码缩进不同,空行并不是 Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

Print输出

  1. 默认换行
  2. 如果要实现不换行, 在变量末尾加上逗号

代码组

  1. 缩进相同的一组语句构成一个代码块 ->代码组
  2. 像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
  3. 将首行及后面的代码组称为一个子句(clause)

变量类型

以下内容均整理自
菜鸟基础教程——Python变量类型

变量赋值

  1. 不需要类型声明。
  2. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
  3. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
  4. 等号 (=) 用来给变量赋值。
  5. 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串`
  1. 允许同时为多个变量赋值, 变量被分配到相同的内存空间上。
  2. 可以为多个对象指定多个变量, 变量和对象数目需保持一致

标准数据类型

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

数字

  1. 用于存储数值。
  2. 不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
  3. 当指定一个值时,Number对象就会被创建
  4. 四种不同的数字类型:
  • int(有符号整型)
  • long(长整型[也可以代表八进制和十六进制]): 使用 L来显示长整型
  • float(浮点型)
  • complex(复数):可以用 a + bj ,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型
    注:在 Python3.X 版本中 long 类型被移除,使用 int 替代

字符串

  1. 数字、字母、下划线组成的一串字符。
###一般记为
s="a1a2···an"(n>=0)
  1. 字串列表有2种取值顺序
  • 从左到右索引默认0开始的,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头
  1. 从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾
    [头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符

Alt

  1. 加号 (+) 是字符串连接运算符,星号 (*) 是重复操作。
  2. 可以接收第三个参数,参数作用是截取的步长。
    [头下标:尾下标:步长]

常用指令

  1. 转义字符
    在需要在字符中使用特殊字符时,python用反斜杠()转义字符
转义字符 描述
(在行尾时) 续行符
\ 反斜杠符号
单引号
" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
  1. 字符串运算符
操作符 描述
+ 字符串连接
* 重复输出字符串
[] 通过索引获取字符串中字符
[ : ] 截取字符串中的一部分
in 成员运算符 - 如果字符串中包含给定的字符返回 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
% 格式字符串

列表

  1. 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
  2. 列表用 [ ] 标识,是 python 最通用的复合数据类型。
  3. 列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1开始,下标可以为空表示取到头或尾。
    Alt
  4. 加号 + 是列表连接运算符,星号 * 是重复操作

元组

  1. 元组用 () 标识。内部元素用逗号隔开。
  2. 元组不能二次赋值,相当于只读列表
    列表可更新,元组不可更新

字典

  1. 列表是有序的对象集合,字典是无序的对象集合。
  2. 两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
  3. 字典用 “{ }” 标识。字典由索引(key)和它对应的值value组成。
    :前为键, :后为值
dict = {
     }
dict['one'] = "This is one"
dict[2] = "This is two"

tinydict = {
     'name': 'john','code':6734, 'dept': 'sales'}
 
print dict['one'] # 输出键为'one' 的值
print dict[2]     # 输出键为 2 的值
print tinydict    # 输出完整的字典
print tinydict.keys()  # 输出所有键
print tinydict.values()# 输出所有值

数据类型转换

数据类型的转换,只需要将数据类型作为函数名即可

函数 描述
int(x [,base]) 将x转换为一个整数
long(x [,base] ) 将x转换为一个长整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
unichr(x) 将一个整数转换为Unicode字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

运算符

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 运算符优先级

算术运算符

运算符 描述
+ 加 - 两个对象相加
- 减 - 得到负数或是一个数减去另一个数
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串
/ 除 - x除以y
% 取模 - 返回除法的余数
** 幂 - 返回x的y次幂
// 取整除 - 返回商的整数部分(向下取整)

比较(关系)运算符

运算符 描述
== 等于 - 比较对象是否相等
!= 不等于 - 比较两个对象是否不相等
<> 不等于 - 比较两个对象是否不相等,这个运算符类似 !=
> 大于 - 返回x是否大于y
< 小于 - 返回x是否小于y。
>= 大于等于 - 返回x是否大于等于y。
<= 小于等于 - 返回x是否小于等于y。

赋值运算符

运算符 描述
= 简单的赋值运算符
+= 加法赋值运算符
-= 减法赋值运算符
*= 乘法赋值运算符
/= 除法赋值运算符
%= 取模赋值运算符
**= 幂赋值运算符
//= 取整除赋值运算符

逻辑运算符

mark

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

位运算符

按位运算符是把数字看作二进制来进行计算的.

运算符 描述
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^ 按位异或运算符:当两对应的二进位相异时,结果为1
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1
<< 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

成员运算符

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

身份运算符

用于比较两个对象的存储单元

运算符 描述
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 逻辑运算符

基础语句

条件语句

以下内容整理自
菜鸟基础教程——Python条件语句

指定任何非0和非空(null)值为true,0 或者 null为false。Python学习笔记——基础_第1张图片

  1. 基本形式
    执行内容可以多行,以缩进来区分表示同一范围
    else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句
if 判断条件:
    执行语句……
else:
    执行语句……
  1. 多个判断条件
if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……
  1. 如果判断需要多个条件需同时判断时,可以使用or(或),表示两个条件有一个成立时判断条件成功;使用 and(与) 时,表示只有两个条件同时成立的情况下,判断条件才成功。

循环语句

重要命令

命令 用途
continue 跳过该循环
break 退出循环(跳过整个循环)
pass 不做任何事情,一般用做占位语句(如在def函数中)

While循环语句

以下内容整理自
菜鸟基础教程——Python While循环语句

  1. 流程图:
    Python学习笔记——基础_第2张图片
    示意图:
    Python学习笔记——基础_第3张图片
  2. 基本语句:
while 判断条件:
    执行语句……
while 判断条件:
    执行语句……
else:
    执行语句……

简单语句组:

while (flag): 执行语句(仅一条)
  1. "判断条件"还可以是个常值,表示循环必定成立
i = 1
while i < 10:   
    i += 1
    if i%2 > 0:     # 非双数时跳过输出
        continue
    print i         # 输出双数2、4、6、8、10
 
i = 1
while 1:            # 循环条件为1必定成立
    print i         # 输出1~10
    i += 1
    if i > 10:     # 当i大于10时跳出循环
        break

for 循环语句

以下内容整理自
菜鸟基础教程——Python for 循环语句

  1. 流程图
    Python学习笔记——基础_第4张图片
  2. 基本语句
for iterating_var in sequence:
   statements(s)
for iterating_var in sequence:
   statements(s)
else 
   statements(s)
  1. 可通过序列索引迭代
fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
   print '当前水果 :', fruits[index]
 
print "Good bye!"

零碎

  1. del语句: 删除一些对象的引用
# del语句的语法是:
del var1[,var2[,var3[....,varN]]]]
#您可以通过使用del语句删除单个或多个对象的引用。例如:
del var
del var_a, var_b
  1. 查看包内容
dir(package)

函数

以下内容整理自
菜鸟基础教程——Python 函数

规则

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号**()**。
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进
  • return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
  • 默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。
def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

函数调用

通过另一个函数调用执行,也可以直接从Python提示符执行。

参数传递

  • 类型属于对象。变量没有类型,仅仅是一个对象的引用(一个指针)。
  • strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象
类型 解释 参数传递
不可变类型 变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。 类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型 变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。 类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
  • 可使用的正式参数类型
参数类型 要求
必备参数 须以正确的顺序传入函数。调用时的数量必须和声明时的一样
关键字参数 函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致
默认参数 调用函数时,默认参数的值如果没有传入,则被认为是默认值。
不定长参数 可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名
#不定长参数实例
#加了星号(*)的变量名会存放所有未命名的变量参数
def functionname([formal_args,] *var_args_tuple ):
   "函数_文档字符串"
   function_suite
   return [expression]

匿名函数

使用 lambda 来创建匿名函数

lambda [arg1 [,arg2,.....argn]]:expression
  • lambda只是一个表达式,函数体比def简单很多。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  • lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
  • 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

return语句

return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None

变量作用域

  • 一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。
  • 一个 Python 表达式可以访问局部命名空间和全局命名空间里的变量。如果一个局部变量和一个全局变量重名,则局部变量会覆盖全局变量
  • 每个函数都有自己的命名空间。
  • Python 会智能地猜测一个变量是局部的还是全局的,它假设任何在函数内赋值的变量都是局部的。
  • 如果要给函数内的全局变量赋值,必须使用 global 语句。
变量 定义位置 作用域
全局变量 定义在函数外 可以在整个程序范围内访问
局部变量 定义在函数内部 只能在其被声明的函数内部访问
  • 调用函数时,所有在函数内声明的变量名称都将被加入到作用域中

模块

以下内容均整理自
菜鸟基础教程——Python模块

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

语句

  1. import语句
  • 引入模块
  • 当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。
  • 搜索路径是一个解释器会先进行搜索的所有目录的列表。
    引入:
import module1[, module2[,... moduleN]]

调用:

模块名.函数名
  1. from…import语句
  • 从模块中导入一个指定的部分到当前命名空间中。
  • 这个声明不会把整个 fib 模块导入到当前的命名空间中,它只会将 fib 里的 fibonacci 单个引入到执行这个声明的模块的全局符号表
    语法:
from modname import name1[, name2[, ... nameN]]
  1. from…import*语句
    把一个模块的所有内容全都导入到当前的命名空间。
    语法:
from modname import *

搜索路径

当你导入一个模块,Python 解析器对模块位置的搜索顺序是:

  1. 当前目录
  2. 如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
  3. 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。
  • 模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

  • 是一个分层次的文件目录结构
  • 定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。
  • 简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。

文件I/O

以下内容均整理自
菜鸟基础教程——Python文件I/O

基础I/O

  1. 打印到屏幕
    print语句
  • 传递零个或多个用逗号隔开的表达式
  • 此函数把你传递的表达式转换成一个字符串表达式,并将结果写到屏幕
  1. 读取键盘输入
  • raw_input([prompt])
    从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符
  • input([prompt])
    可以接收一个Python表达式作为输入,并将运算结果返回。

打开和关闭文件

  1. open 函数
file object = open(file_name [, access_mode][, buffering])

各个参数的细节如下:

  • file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
  • access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。
  • buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
    Python学习笔记——基础_第5张图片
  1. File对象的属性
属性 描述
file.closed 返回true如果文件已被关闭,否则返回false。
file.mode 返回被打开文件的访问模式。
file.name 返回文件的名称。
file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。
  1. close()方法
fileObject.close()
  • File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
  • 当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。

读写文件

  1. write()方法
fileObject.write(string)
  • write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
  • write()方法不会在字符串的结尾添加换行符(’\n’):
  1. read()方法
fileObject.read([count])
  • read()方法从一个打开的文件中读取一个字符串。
  • Python字符串可以是二进制数据,而不是仅仅是文字。
  • 被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。
  1. 文件定位
  • tell()方法告诉你文件内的当前位置, 换句话说,下一次的读写会发生在文件开头这么多字节之后。
  • seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
    如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。

重命名和删除文件

os模块提供了帮你执行文件处理操作的方法。

  • 需要导入
  1. rename()方法:
#重命名
os.rename(current_file_name, new_file_name)

rename()方法需要两个参数,当前的文件名和新文件名。

  1. remove()方法
os.remove(file_name)

你可以用remove()方法删除文件,需要提供要删除的文件名作为参数。

目录

  1. mkdir()方法
os.mkdir("newdir")

可以使用os模块的mkdir()方法在当前目录下创建新的目录们。你需要提供一个包含了要创建的目录名称的参数。
2. chdir()方法

os.chdir("newdir")

可以用chdir()方法来改变当前的目录。chdir()方法需要的一个参数是你想设成当前目录的目录名称。
3. getcwd()方法:

os.getcwd()

getcwd()方法显示当前的工作目录。
4. rmdir()方法

os.rmdir('dirname')

rmdir()方法删除目录,目录名称以参数传递。
在删除这个目录之前,它的所有内容应该先被清除。

常用函数

数学运算

模块 用途
cmath 对浮点数的数学运算函数
math 用于复数运算的函数
  1. 导入
import math
  1. 数学函数
函数 返回值 ( 描述 )
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,…) 返回给定参数的最大值,参数可以为序列。
min(x1, x2,…) 返回给定参数的最小值,参数可以为序列。
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) x**y 运算后的值。
round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x) 返回数字x的平方根
  1. 随机数函数
函数 描述
choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
random() 随机生成下一个实数,它在[0,1)范围内。
seed([x]) 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst) 将序列的所有元素随机排序
uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。
  1. 三角函数
函数 描述
acos(x) 返回x的反余弦弧度值。
asin(x) 返回x的反正弦弧度值。
atan(x) 返回x的反正切弧度值。
atan2(y, x) 返回给定的 X 及 Y 坐标值的反正切值。
cos(x) 返回x的弧度的余弦值。
hypot(x, y) 返回欧几里德范数 sqrt(xx + yy)。
sin(x) 返回的x弧度的正弦值。
tan(x) 返回x弧度的正切值。
degrees(x) 将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x) 将角度转换为弧度
  1. 数学常量
常量 描述
pi 数学常量 pi(圆周率,一般以π来表示)
e 数学常量 e,e即自然常数(自然常数)。

模块

  1. dir()函数
  • 是一个排好序的字符串列表。
  • 内容是一个模块里定义过的名字。
  • 返回的列表容纳了在一个模块里定义的所有模块,变量和函数。
  • -特殊字符串变量__name__指向模块的名字,__file__指向该模块的导入文件名。
  1. globals() 和 locals() 函数
  • 如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。
  • 如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字。
  • 两个函数的返回类型都是字典。所以名字们能用 keys() 函数摘取。
  1. reload() 函数
    重新执行模块里顶层部分的代码,可以用 reload() 函数。该函数会重新导入之前导入过的模块。
reload(module_name)

报错解决

  1. 安装PyCharm后导入numpy包出现 “Unresolved reference” 报错
    解决方案: PyCharm-> Preference -> “+” -> 查找numpy包 -> 点击"Install Package" ->搞定!
  2. “IndentationError: unindent does not match any outer indentation level”
    解决方案:检查缩进方式,确保一致!

你可能感兴趣的:(Python,入门)