Python3基础

Python 3

开篇

Python 基础教程 | 菜鸟教程 (runoob.com)学习笔记及扩充

简介

Python是一个高层次的结合了解释性,编译性,互动性和面向对象的脚本语言.

Python常用文件扩展名为.py

Pyton 具有很强的可读性,相比其它语言经常使用英文关键字,其他语言的一些标点符号,它具有比其它语言更具有特色语法结构.

  • Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言.像Perl语言一样,Python源代码同样遵循GPL协议

  • Python 是交互式语言:这意味着您可以在一个Python提示符>>>后直接执行代码.

  • Python 是面向对象语言:这意味着PYthon支持面向对象的风格或代码封装在对象编程技术.

  • Python 是初学者的语言

特点
  1. 易于学习:Python有较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单.

  2. 易于阅读

  3. 易于维护

  4. 一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好

  5. 互动模式:您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片段.

  6. 可移植:基于其开放源代码的特性,Python已经被移植到许多平台.

  7. 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用.

  8. 数据库:Python提供所有主要的商业数据库的接口.

  9. GUI编程:Python支持GUI可以创建和移植到许多系统调用.

  10. 可嵌入:你可以将Python 嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力.

Python3基本语法

编码

默认情况下,Python3源码文件以UTF-编码,所有字符串都是unicode字符串.

# -*- coding: cp-1252 -*-

上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语、白俄罗斯语、马其顿语、俄语、塞尔维亚语。

标识符
  • 第一个字符必须是字母表中字母或下划线_.

  • 标识符的其他部分由字母,数字,下划线组成.

  • 标识符对大小写敏感.

    在Python3中,可以用中文作为变量名,非ASCII标识符也允许啦.

保留字

保留字即关键字,不能用作标识符名称哦.Python的标准库提供了一个keyword模块,可以输出当前版本的所有关键字:

>>>import keyword
>>>keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
​
注释
  • #单行注释

  • '''

    多行注释

第二行

第三行

'''

  • """

    多行注释

    第二行

    第三行

    """

    行与缩进

    Python 使用缩进来表示代码块<不需要{}.

    缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数.

    多行语句

    Python通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠\来实现多行语句

    Number 类型
    • int整数:只有一种整数类型int,没有Python2中的long

    • bool布尔:如True

    • float浮点数:如1.23,3E-2

    • complex复数,如1+2j

      字符串(String)
      • Python中单引号 ' 和双引号 " 使用完全相同

      • 使用三引号 ''' 或 """可以指定一个多行字符串

      • 转义符\

      • 反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义.如r"this is a line with \n"则 \n 会显示,但不是换行

      • 按字面意义级联字符串,"this""is""string"会自动转换成this is string.

      • 字符串可以用 + 运算符连接在一起,用 * 运算符重复.

      • Python 中的字符串有两种索引方式,从左往右以0开始,从右往左以 -1 开始.

      • Python 中的字符串不能改变

      • Python没有单独的字符类型,一个字符就是长度为1的字符串.

      • 字符串切片str[start:end],左闭右开

      • 字符串的切片可以加上步长参数step

        str[start:end:step]
        空行

        函数之间或类的方法之间用空格分隔,表示一段新的代码的开始.类和函数入口之间也用一行空行分隔,以突出函数入口的开始.

        空行与代码缩进不同,空行并不是Python语法的一部分.书写时不插入空行,Python解释器运行也不会出错.但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护和重构.

        记住:空行也是代码的一部分

等待用户输入

执行下面的程序在按回车键后就会等待用户输入:

input()
同一行显示多条语句

Python 可以在同一行中使用多条语句,语句之间使用分号 ; 分隔

print输出

print默认输出是换行的,如果要实现不换行需要在末尾加上 end=''

a='青山'
print('a的字符串是:%s'%(a))

b=-123.2
print(b)
print('b的带符号整数是:%d'%(b))
print('b的浮点数是:%.2f'%(b))
print('b的科学计数法:%e'%(b))
print('b的科学计数法:%E'%(b))

c=123.3
print('c的带符号整数是:%d'%(c))
print('c的无符号整数输出:%u'%(c))

d='青'
print('字符的%c'%(d))

e=0b110
1print(e)
f=0o77
print(f)
g=0xd23
print(g)

h=123
print('h的八进制整数是:%o'%(h))
print('h的十六进制整数是:%x'%(h))
print('h的十六进制整数是:%X'%(h))

i=-1.234000E+02
print('i的简写是:%G'%(i))

j=1.2300000000
print('j的简写是:%G'%(j))

import与 from...import

用import 或者 from...import 来导入相应的模块.

大模块

大模块小函数

大模块小函数小函数小函数

导入某模块中所有函数:

大模块

Python3 基本数据类型

Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建.

在Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型.

多个变量赋值

创建一个整形对象,值为1,从后向前赋值,三个变量被赋予相同的数值.

a=b=c=1

多个对象赋予多个值

a,b,c = 1,2,"beautiful"
标准数据库类型
  • Number (数字) =>不可变数据

  • String (字符串) =>不可变数据

  • bool (布尔类型)

  • List (列表) =>可变数据

  • Tupel (元组) =>不可变数据

  • Set (集合) =>可变数据

  • Dictionary (字典) =>可变数据

Number(数字)

int,float,bool,complex

可以用type(),isinstance()来判断对象类型

  • type()不会认为子类是一种父亲类型

  • isinstance()会认为子类是一种父亲类型()

数值运算

+

-

*

/ 得到一个浮点数

// 得到一个整数

%

**

在混合计算时,Python会把整形转换成浮点数.

String(字符串)

字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符.

如果不想 \ 发生转义,可以在字符串前面添加 r

变量头下标尾下标

索引值以0为开始值,-1为末尾的开始位置

  • +是字符串的连接符, * 是复制当前字符串,与之结合的数字为复制的次数

bool(布尔类型)

True False

List(列表)

List(列表)是Python中使用最频繁的数据类型.

列表是写在方括号 [ ] 之间,用逗号分隔开的元素列表

列表截取:

变量头下标尾下标

Step=-1 列表反转

索引值以0为开始值,-1为从末尾开始的位置

+是连接符, * 是重复操作

与字符串不同,列表元素可变

Tuple(元组)

与列表类似,不同之处在于:元组的元素不可修改.元组写在小括号 () 里,元素之间用逗号隔开

可以把字符串看作是一种特殊的元组

tup1 = ()    #空元组
tup2 = (20,) #一个元素,需要在元素后添加逗号

必须加逗号

string,list,tuple 都属于 sequence

元组元素不可修改,也可以使用 + 进行拼接

Set(集合)

无序,可变,用于存储唯一的元素

集合中的元素不会重复,并且可以进行交集,并集,差集等常见的操作.

{ }表示,用 , 隔开

set()函数创建集合,创建一个空集合必须用set(),而不是{},因为{}是用来创建一个空字典.

创建格式

parame = {value01,value02,...}
或者
set(value)
Dictionary(字典)

字典是无序的对象集合,字典中的元素是通过键来存取的,而不是通过偏移存取.

字典是一种一种映射类型,字典用 { } 标识,它是一个无序的键(key):值(value)的 集合.

键(key)必须使用不可变类型

在同一个字典中,key必须是唯一的

bytes 类型

bytes表示的是不可变的二进制序列(byte sequence)

bytes类型中的元素是整数值(0到255之间的整数),而不是Unicode字符

创建bytes对象的方式有很多,最常见的就是b前缀

x=b"hello"

此外,也可以使用bytes()函数将其他类型的对象转换为bytes类型.bytes()函数的第一个参数是要抓换的对象,第二个参数是编码方式,如果省略第二个参数,则默认使用UTF-8编码:

x=bytes("hello",encoding="utf-8")
Python数据类型转换
  • 隐式类型转换

我们对两种不同类型的数据进行运算,较低数据类型(整数)就会转换为较高数据类型(浮点数)以避免数据丢失。

  • 显式类型转换

我们使用 int()、float()、str() 等预定义函数来执行显式类型转换。

int() 强制转换为整型:

x = int(1)   # x 输出结果为 1
y = int(2.8) # y 输出结果为 2
z = int("3") # z 输出结果为 3

float() 强制转换为浮点型:

x = float(1)     # x 输出结果为 1.0
y = float(2.8)   # y 输出结果为 2.8
z = float("3")   # z 输出结果为 3.0
w = float("4.2") # w 输出结果为 4.2

str() 强制转换为字符串类型:

x = str("s1") # x 输出结果为 's1'
y = str(2)    # y 输出结果为 '2'
z = str(3.0)  # z 输出结果为 '3.0'

转换函数

函数描述
int(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)转换为可变集合
dixt(d)创建一个字典.d必须是一个(key,value)元组序列
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符
ord(x)讲一个字符转换为它的整数值
hex(x)将一个整数转换成为一个十六进制字符串
oct(x)将一个整数转换成为一个八进制字符串

Python注释

单行注释

#注释

多行注释

  • 单引号

    '''
    这是多行注释,用三个单引号
    这是多行注释,用三个单引号 
    这是多行注释,用三个单引号
    '''
  • 双引号

"""
这是多行注释(字符串),用三个双引号
这是多行注释(字符串),用三个双引号 
这是多行注释(字符串),用三个双引号
"""

注意:在 Python 中,多行注释是由三个单引号 ''' 或三个双引号 """ 来定义的,而且这种注释方式并不能嵌套使用。

当你开始一个多行注释块时,Python 会一直将后续的行都当作注释,直到遇到另一组三个单引号或三个双引号。

嵌套多行注释会导致语法错误。

Python3运算符

位运算符

  • &

  • | 或

  • ^ 异或

  • ~ 非

  • << 左移

  • '>>' 右移

逻辑运算符

  • and

  • or

  • not

成员运算符

  • in

  • not in

身份运算符

  • is

  • is not

运算符优先级

  • ( )

  • 读取,切片,调用,属性引用

  • await x 表达式

  • **

  • 正负,按位非~

  • 乘,矩阵乘,除,整除,取余

  • 加减

  • 移位

  • &

  • ^

  • |

  • 比较运算

  • not

  • and

  • or

  • if–else

  • lambda

  • :=

Python3 Number

math函数

函数返回值(描述)
abs(x)绝对值
ceil(x)向上取整
exp(x)e^x
fabs(x)浮点数形式绝对值
floor(x)向下取整
log(x)
log10(x)
max(x1,x2,x3…)
min(x1,x2,x3…)
modf(x)返回x的整数部分(浮点型)和小数部分
pow(x,y)x**y
round(x[,n])浮点数x的四舍五入值,小数点后保留n位
sqrt(x)x的平方根

random函数

函数描述
choice(seq)从sequence元素中随机挑选一个
randrange([start,]stop[,step])在指定范围内,按step递增的集合中随机挑选,step默认为1
random()在[0,1)范围内随机挑选一个实数
seed([x])改变随机数生成器的种子seed
shuffle(lst)将sequence的所有元素随机排序
uniform(x,y)在[x,y]范围内随机生成一个实数

三角函数

  • 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) 将弧度转换为角度

  • radians(x) 将角度转换为弧度

math常量

  • pi 数学常量pi (圆周率,一般以Π来表示)

  • e 数学常量e,自然常数

Python string

字符串是Python 中最常见的数据类型,我们可以使用引号('或")来创建字符串.

访问字符串中的值

变量[头下标:尾下标]

字符串更新

可以与其他字段拼接

转义字符

转义字符描述
\(在行尾)续航符
\\反斜杠符号
\'单引号
\"双引号
\a响铃
\b退格(Backspqce)
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车,\r后边的内容替换字符串开头,替换完剩下的留着
\f换页
\yyy八进制数
\xyyy十六进制数
\other其他的字符以普通格式输出

字符串运算符

  • 字符串连接 +

  • 重复输出字符串*

  • 通过索引获取字符串[]

  • 左闭右开截取字符串[:]

  • in

  • not in

  • r/R 原始字符串

  • % 格式字符串

字符串格式化

符号描述
%c字符及ASCII码
%s字符串
%d整数
%u无符号整型
%o无符号八进制数
%x无符号十六进制数
%X无符号十六进制数(大写)
%f浮点数,可精确小数点后精度
%e科学计数法格式化浮点数
%E%f和%e的简写
%g%f 和 %E 的简写
%p用十六进制数格式化变量的地址

格式化操作符辅助指令

符号功能
*定义宽度或者小数点精度
-左对齐
+正数显示符号
<sp>正数前显示空格
#在八进制前显示0,十六进制前0x或者0X
0显示的数字前填充0
%%% 输出一个单一的%
(var)映射变量
m.n.m是最小总宽度,n是小数点后的位数

三引号

允许一个字符串跨多行

f-string

字面量格式化字符串

>>> x = 1
>>> print(f'{x+1}')   # Python 3.6
2
​
>>> x = 1
>>> print(f'{x+1=}')   # Python 3.8
x+1=2

Unicode字符串

所有的字符串都是Unicode字符串

字符串内建函数

序号方法及描述
1capitalize() 将字符串的第一个字符转换为大写
2center(width, fillchar)返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
3count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
4bytes.decode(encoding="utf-8", errors="strict") Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
5encode(encoding='UTF-8',errors='strict') 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
6endswith(suffix, beg=0, end=len(string)) 检查字符串是否以 suffix 结束,如果 beg 或者 end 指定则检查指定的范围内是否以 suffix 结束,如果是,返回 True,否则返回 False。
7expandtabs(tabsize=8) 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
8find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
9index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常。
10isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
11isalpha() 如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
12isdigit() 如果字符串只包含数字则返回 True 否则返回 False..
13islower() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
14isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False
15isspace() 如果字符串中只包含空白,则返回 True,否则返回 False.
16istitle() 如果字符串是标题化的(见 title())则返回 True,否则返回 False
17isupper() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
18join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
19len(string) 返回字符串长度
20[ljust(width, fillchar]) 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
21lower() 转换字符串中所有大写字符为小写.
22lstrip() 截掉字符串左边的空格或指定字符。
23maketrans() 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
24max(str) 返回字符串 str 中最大的字母。
25min(str) 返回字符串 str 中最小的字母。
26[replace(old, new , max]) 把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。
27rfind(str, beg=0,end=len(string)) 类似于 find()函数,不过是从右边开始查找.
28rindex( str, beg=0, end=len(string)) 类似于 index(),不过是从右边开始.
29[rjust(width,, fillchar]) 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
30rstrip() 删除字符串末尾的空格或指定字符。
31split(str="", num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
32[splitlines(keepends]) 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
33startswith(substr, beg=0,end=len(string)) 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
34[strip(chars]) 在字符串上执行 lstrip()和 rstrip()
35swapcase() 将字符串中大写转换为小写,小写转换为大写
36title() 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
37translate(table, deletechars="") 根据 table 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
38upper() 转换字符串中的小写字母为大写
39zfill (width) 返回长度为 width 的字符串,原字符串右对齐,前面填充0
40isdecimal() 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false

列表

访问列表

索引从头开始,0开始

索引从屁股开始,-1开始

更新列表

可以对列表的数据项进行修改或更新,你也可以使用 append() 方法来添加列表项

删除列表元素

del list[i]

列表脚本操作符

PYTHON 表达式结果描述
len([1, 2, 3])3长度
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
['Hi!'] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']重复
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ")1 2 3迭代

列表的截取与拼接

PYTHON 表达式结果描述
L[2]'Taobao'读取第三个元素
L[-2]'Runoob'从右侧开始读取倒数第二个元素: count from the right
L[1:]['Runoob', 'Taobao']输出从第二个元素开始后的所有元素

嵌套列表

>>> a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

列表比较

from operator import eq

eq(list1,list2)

True/False

列表函数

序号函数
1len(list) 列表元素个数
2max(list) 返回列表元素最大值
3min(list) 返回列表元素最小值
4list(seq) 将元组转换为列表

方法

序号方法
1list.append(obj) 在列表末尾添加新的对象
2list.count(obj) 统计某个元素在列表中出现的次数
3list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj) 将对象插入列表
6[list.pop(index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj) 移除列表中某个值的第一个匹配项
8list.reverse() 反向列表中元素
9list.sort( key=None, reverse=False) 对原列表进行排序
10list.clear() 清空列表
11list.copy() 复制列表

列表推导式

列表推导格式为:

list1=['c','m','miracle','chen']
list2=[list3.upper()for list3 in list1 if len(list3)<2 ]
print(list2)

元组

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

元组使用小括号(),列表使用方括号[]

元组创建:

创建空元组

元组中只有一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用

>>> tup1 = (50)
>>> type(tup1)     # 不加逗号,类型为整型
<class 'int'>
​
>>> tup1 = (50,)
>>> type(tup1)     # 加上逗号,类型为元组
<class 'tuple'>

访问元组

索引

修改元组

元组中的元素是不允许被修改的,但我们可以对元素进行连接组合

删除元组

元组中的元素是不允许删除的,但我们可以使用del语句删除整个元组.

元组运算符

PYTHON 表达式结果描述
len((1, 2, 3))3计算元素个数
>>> a = (1, 2, 3) >>> b = (4, 5, 6) >>> c = a+b >>> c (1, 2, 3, 4, 5, 6)(1, 2, 3, 4, 5, 6)连接,c 就是一个新的元组,它包含了 a 和 b 中的所有元素。
>>> a = (1, 2, 3) >>> b = (4, 5, 6) >>> a += b >>> a (1, 2, 3, 4, 5, 6)(1, 2, 3, 4, 5, 6)连接,a 就变成了一个新的元组,它包含了 a 和 b 中的所有元素。
('Hi!',) * 4('Hi!', 'Hi!', 'Hi!', 'Hi!')复制
3 in (1, 2, 3)True元素是否存在
for x in (1, 2, 3): print (x, end=" ")1 2 3迭代

元组内值函数

  • len(tuple) 计算元组元素个数

  • max(tuple)返回元组中元素最大数

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

  • tuple(iteable) 将可迭代系列转换为元组

元组推导式(生成器表达式)

tuple1=(a for a in range(1,10))
print(tuple1)#返回生成器对象
print(tuple(tuple1))#使用tuple()函数,可以直接将生成器对象转换成元组

字典

可变,可储存任意类型对象

每个键值对用冒号分隔,每队之间用逗号分隔,整个字典括在花括号{ }中

d = {key:value1,key2:value2,key3:value3}

键必须是唯一的,值不必

值可以是任何数据类型,但键必须是不可变的,如字符串,数字

创建空字典

empytDict={}
emptyDict=dict()

访问字典里的值

dict_name[key]

修改字典

修改或是添加

dict_name[key]=value

删除字典元素

del dict_name[key] #删除键key
dict_name.clear    #清空dict
del tinydict       #删除字典

字典内置函数&方法

序号函数及描述实例
1len(dict) 计算字典元素个数,即键的总数。>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} >>> len(tinydict) 3
2str(dict) 输出字典,可以打印的字符串表示。>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} >>> str(tinydict) "{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
3type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} >>> type(tinydict) <class 'dict'>

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

序号函数及描述
1dict.clear() 删除字典内所有元素
2dict.copy() 返回一个字典的浅复制
3dict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4dict.get(key, default=None) 返回指定键的值,如果键不在字典中返回 default 设置的默认值
5key in dict 如果键在字典dict里返回true,否则返回false
6dict.items() 以列表返回一个视图对象
7dict.keys() 返回一个视图对象
8dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9dict.update(dict2) 把字典dict2的键/值对更新到dict里
10dict.values() 返回一个视图对象
11[pop(key,default]) 删除字典 key(键)所对应的值,返回被删除的值。
12popitem() 返回并删除字典中的最后一对键和值。

字典推导式

list1=['c','m','miracle','chen']
dict1={key:len(key) for key in list1}
print(dict1)

集合

Set是一个无序的不重复元素序列

集合中的元素不会重复,并且可以进行交集,并集,查缉等常见的集合操作.

可以使用大括号{ }创建集合,元素之间用逗号隔开,或者使用set()创建集合

parame = {value01,value02,...}
或者
set(value)
set1={1,2,3,4}     #直接使用大括号创建集合
set2=set([4,5,6,7])#使用set()函数从列表中创建集合

注意:创建一个空集必须用set()而不是{ },因为{ }是用来创建一个空字典.

添加元素

set_name.add(x) #将元素x添加到集合中,如果元素已经存在,则不进行任何操作.
set_name.update(x)#x可以有多个,用逗号隔开

移除元素

set_name.remove(x)#将元素x从集合中移除,如果元素不存在,则会发生错误
set_name.discard(x)#移除元素,如果元素不存在,不发生错误
set_name.pop()  #非常大胆,随机删除一个元素

set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素

计算集合元素个数

len(set_name)

清空集合

set_name.clear()

判断元素是否在集合中存在

x in set_name

集合内置方法完整列表

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素
len()计算集合元素个数

集合推导式

set1={i**3 for i in range(2,10,2)}print(set1)

条件控制

if
elif
else

循环语句

while

while (condition):
    statements......

python中没有do while 循环

for

python中for 可以遍历任何可迭代对象,如一个列表或者一个字符串

for veiable in sequence:
    statements
else:
    statements

for else

for item in iterable:
    ...
else:
    ...

range

for i in range(7):
    print(i)

for i in range(3,7):
    print(i)

for i in range(1,7,2):
    print(i)

for i in range(7,1,-3): 
    print(i)

break

跳出循环体

continue

跳出本次循环剩余语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值