python基础知识点总结

Python标识符

在 Python 里,标识符有字母、数字、下划线组成。
在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
Python 中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。

Python有五个标准的数据类型

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

Python支持四种不同的数字类型

int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数)
python的字串列表有2种取值顺序

从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头

元组是另一个数据类型,类似于List(列表)

元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型

列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

Python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

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) 将一个整数转换为一个八进制字符串

Python 运算符

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

python算术运算符

+加 - 两个对象相加a + b 输出结果 30

-减 - 得到负数或是一个数减去另一个数a - b 输出结果 -10

*乘 - 两个数相乘或是返回一个被重复若干次的字符串a * b 输出结果 200

/除 - x除以yb / a 输出结果 2

%取模 - 返回除法的余数b % a 输出结果 0

幂 - 返回x的y次幂ab 为10的20次方, 输出结果 100000000000000000000

//取整除 - 返回商的整数部分9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

Python赋值运算符

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

=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c

+=加法赋值运算符c += a 等效于 c = c + a

-=减法赋值运算符c -= a 等效于 c = c - a

*=乘法赋值运算符c *= a 等效于 c = c * a

/=除法赋值运算符c /= a 等效于 c = c / a

%=取模赋值运算符c %= a 等效于 c = c % a

**=幂赋值运算符c **= a 等效于 c = c ** a

//=取整除赋值运算符c //= a 等效于 c = c // a

Python 循环语句

Python提供了for循环和while循环(在Python中没有do…while循环):

while 循环在给定的判断条件为 true 时执行循环体,否则退出循环体。

for 循环重复执行语句

嵌套循环你可以在while循环体中嵌套for循环

循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

break 语句在语句块执行过程中终止循环,并且跳出整个循环

continue 语句在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。

pass 语句pass是空语句,是为了保持程序结构的完整性。

Python Number类型转换

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 转换为一个列表

chr(x )将一个整数转换为一个字符

unichr(x )将一个整数转换为Unicode字符

ord(x )将一个字符转换为它的整数值

hex(x )将一个整数转换为一个十六进制字符串

oct(x )将一个整数转换为一个八进制字符串

Python转义字符

在需要在字符中使用特殊字符时,python用反斜杠()转义字符。

如下表:

(在行尾时)续行符

\反斜杠符号

'单引号

"双引号

\a响铃

\b退格(Backspace)

\e转义

\000空

\n换行

\v纵向制表符

\t横向制表符

\r回车

\f换页

\oyy八进制数,yy代表的字符,例如:\o12代表换行

\xyy十六进制数,yy代表的字符,例如:\x0a代表换行

\other其它的字符以普通格式输出

Python字符串格式化

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

如下实例:

#!/usr/bin/pythonprint “My name is %s and weight is %d kg!” % (‘Zara’, 21)

以上实例输出结果:

My name is Zara and weight is 21 kg!

python字符串格式化符号:

%c 格式化字符及其ASCII码

%s 格式化字符串

%d 格式化整数

%u 格式化无符号整型

%o 格式化无符号八进制数

%x 格式化无符号十六进制数

%X 格式化无符号十六进制数(大写)

%f 格式化浮点数字,可指定小数点后的精度

%e 用科学计数法格式化浮点数

%E 作用同%e,用科学计数法格式化浮点数

%g %f和%e的简写

%G %f 和 %E 的简写

%p 用十六进制数格式化变量的地址

Python列表

Python包含以下函数:

1cmp(list1, list2)比较两个列表的元素

2len(list)列表元素个数

3max(list)返回列表元素最大值

4min(list)返回列表元素最小值

5list(seq)将元组转换为列表

Python包含以下方法

1list.append(obj)在列表末尾添加新的对象

2list.count(obj)统计某个元素在列表中出现的次数

3list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

4list.index(obj)从列表中找出某个值第一个匹配项的索引位置

5list.insert(index, obj)将对象插入列表

6list.pop(obj=list[-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

7list.remove(obj)移除列表中某个值的第一个匹配项

8list.reverse()反向列表中元素

9list.sort([func])对原列表进行排序

Python元组

Python的元组(tuple)与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组内置函数:

Python元组包含了以下内置函数

1cmp(tuple1, tuple2)比较两个元组元素。

2len(tuple)计算元组元素个数。

3max(tuple)返回元组中元素最大值。

4min(tuple)返回元组中元素最小值。

5tuple(seq)将列表转换为元组。

Python字典(dictionary)

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中

字典内置函数及方法:

Python字典包含了以下内置函数:

1cmp(dict1, dict2)比较两个字典元素。

2len(dict)计算字典元素个数,即键的总数。

3str(dict)输出字典可打印的字符串表示。

4type(variable)返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

1dict.clear()删除字典内所有元素

2dict.copy()返回一个字典的浅复制

3dict.fromkeys(seq[, val]))创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值

4dict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值

5dict.has_key(key)如果键在字典dict里返回true,否则返回false

6dict.items()以列表返回可遍历的(键, 值) 元组数组

7dict.keys()以列表返回一个字典所有的键

8dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

9dict.update(dict2)把字典dict2的键/值对更新到dict里

10dict.values()以列表返回字典中的所有值

11pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

12popitem()随机返回并删除字典中的一对键和值。

匿名函数lambda

python 使用 lambda 来创建匿名函数。

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

如:

sum =lambda arg1, arg2: arg1 + arg2;print"相加后的值为 : ", sum(10,20) //输出30

python import语句

From…import语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。语法如下:
from modname import name1[, name2[, … nameN]]
例如,要导入模块 fib 的 fibonacci 函数,使用如下语句:
from fib import fibonacci
这个声明不会把整个 fib 模块导入到当前的命名空间中,它只会将 fib 里的 fibonacci 单个引入到执行这个声明的模块的全局符号表。
From…import语句
把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:
from modname import *
这提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。
例如我们想一次性引入 math 模块中所有的东西,语句如下:
from math import

Python文件操作

打开和关闭文件
现在,您已经可以向标准输入和输出进行读写。现在,来看看怎么读写实际的数据文件。
Python 提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用 file 对象做大部分的文件操作。
open函数
你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
语法:
file object = open(file_name [, access_mode][, buffering])
各个参数的细节如下:
file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。
buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

不同模式打开文件的完全列表:

r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

r+打开一个文件用于读写。文件指针将会放在文件的开头。

rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值