python全栈开发 * mysql数据类型 * 180829

* 库的操作   (增删改查)一.系统数据库查看系统库命令   show databases1.information_schema:    虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等2.performance_schema:    MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象3.myslq:    授权库,主要存储系统用户的权限信息4.test:    MySQL数据库系统自动创建的测试数据库二.创建数据库1.求救语法:         help create database;2.创建数据库语法       CREATE DATABASE 数据库名 charset utf8;3.数据库命名规则:    可以由字母、数字、下划线、@、#、$    区分大小写    唯一性    不能使用关键字如 create select    不能单独使用数字    最长128位三.数据库相关操作1.查看数据库     show databases;2.查看当前库     show create database db1;3.查看所在的库    select database()4.选择数据库   use  数据库名5.删除数据库   drop database 数据库名6.修改数据库     alter database db1 charset utf8;四 补充:1.SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:(1)DDL语句    数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER(2)DML语句    数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT(3)DCL语句    数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

*   表的操作一.存储引擎1.数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎    存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。2.在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的3.MySql数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎二.mysql支持的存储引擎    查看所有支持的引擎       show engines\G;    查看正在使用的存储引擎     show variables like ‘storage_engine%‘;1.InnoDB 存储引擎2.MyISAM 存储引擎3.Memory 存储引擎4.BLACKHOLE  黑洞存储引擎5.指定表类型/存储引擎的命令:    create table t1(id int)engine=innodb;# 默认不写就是innodb 小练习:    创建四张表,分别使用innodb,myisam,memory,blackhole存储引擎,进行插入数据测试    create table t1(id int)engine=innodb;    create table t2(id int)engine=myisam;    create table t3(id int)engine=memory;    create table t4(id int)engine=blackhole;查看数据库中的文件:(1).frm是存储数据表的框架结构(2).ibd是mysql数据文件(3).MYD是MyISAM表的数据文件的扩展名(4).MYI是MyISAM表的索引的扩展名(5)memory  在重启mysql或者重启机器后,表内数据清空(6)blackhole 往表内插入任何数据,都相当于丢入黑洞,表内永远不存记录.三.表介绍:    表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段.    id,name,sex,age,birth称为字段,其余的,一行内容称为一条记录四.创建表语法:   create table 表名(    字段名1 类型[(宽度) 约束条件],    字段名2 类型[(宽度) 约束条件],    字段名3 类型[(宽度) 约束条件]    );    #注意:    1. 在同一张表中,字段名是不能相同    2. 宽度和约束条件可选    3. 字段名和类型是必须的1.创建数据库   create database db2 (charset utf8; )可省略2.使用数据库    use db23.创建表create table a1(    id int,    name varchar(50)    age int(3));4.插入表的记录insert into a1 values(1,"mj",18),(2,"wu",28);5.查询表的数据和结构(1)查询表中的存储数据    select * from a1;(2)查看a1表的结构    desc a1;(3)查看表的详细结构    show create table a1\G;6.复制表(1)新创建一个数据db3   create database db3 charset utf8;(2)使用db3   use db3(3)既复制表结构,又复制记录create table b1 select * from db2.a1(4)查看db3文件夹中的数据和表结构:select * from db3.b1;7.如果只复制表结构,不要记录#在db2数据库下新创建一个b2表,给一个where条件,条件要求不成立,条件为false,只拷贝表结构    create table b2 select * from db2.a1 where 1>5;    查看表结构 desc b2;    查看表结构中的数据,是空数据;   select * from b2;方法二:    create table b3 like db2.a1;7.删除表:drop table 表明;

*数据类型引入:    存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的.    详细参考链接:http://www.runoob.com/mysql/mysql-data-types.html一.mysql常用数据类型概括:    1.数字        整型:tinyint  int  bigint        小数:        float:在位数比较长的情况下不精准        double:在位数比较长的情况下不精准        decimal:精准  内部原理是以字符串形式去存;    2.字符串:        char(10) :简单粗暴,浪费空间,存取速度快        varchar:精准,节省空间,存取速度慢        sql优化:创建表时,定长(性别)的类型往前放,变长(地址  描述信息)的往后放        大于255个字符,超了就把文件路径存放到数据库中,(图片 视频数据库中只存路径或url).    3.时间类型   常用datetime    4.枚举类型和集合类型二.数值类型(一)   整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT    默认有符号    作用:存储年龄,等级,id,各种号码等1.tinyint[(m)] [unsigned] [zerofill]         小整数,数据类型用于保存一些范围的整数数值范围:            有符号:                -128 ~ 127            无符号:                0 ~ 255            MySQL中无布尔值,使用tinyint(1)构造。2. int[(m)][unsigned][zerofill]     整数,数据类型用于保存一些范围的整数数值范围:            有符号:                    -2147483648 ~ 2147483647            无符号:                    0 ~ 42949672953.bigint[(m)][unsigned][zerofill]    大整数,数据类型用于保存一些范围的整数数值范围:            有符号:                    -9223372036854775808 ~ 9223372036854775807            无符号:                    0  ~  18446744073709551615注意:    默认是有符号;  [unsigned](可设置)    int类型后面的存储是显示宽度,而不是存储宽度    zerofill 用0填充   mysql> create table t4(id int(5) unsigned zerofill);    为该类型指定宽度时,仅仅只是指定查询结果的显示宽度,与存储范围无关,存储范围如下    其实我们完全没必要为整数类型指定显示宽度,使用默认的就可以了    默认的显示宽度,都是在最大值的基础上加1(二)浮点型    (存储薪资,身高,体重,体制参数)1.定点数类型:dec等同于decimal2.浮点类型:float  double语法:单精度 float:  FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]    参数解释:  M是全长,D是小数点后个数.M最大值为255,D最大值为30    有符号:               -3.402823466E+38 to -1.175494351E-38,               1.175494351E-38 to 3.402823466E+38    无符号:               1.175494351E-38 to 3.402823466E+38    精确度:               **** 随着小数的增多,精度变得不准确 ****双精度  double:    DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]    参数解释: 双精度浮点数(非准确小数值),M是全长,D是小数点后个数。M最大值为255,D最大值为30    有符号:               -1.7976931348623157E+308 to -2.2250738585072014E-308               2.2250738585072014E-308 to 1.7976931348623157E+308    无符号:               2.2250738585072014E-308 to 1.7976931348623157E+308    精确度:               ****随着小数的增多,精度比float要高,但也会变得不准确 ****精准decimal:    decimal[(m[,d])] [unsigned] [zerofill]    参数解释:准确的小数值,M是整数部分总个数(负号不算),D是小数点后个数。 M最大值为65,D最大值为30。    精确度:               **** 随着小数的增多,精度始终准确 ****               对于精确数值计算时需要用此类型               decaimal能够存储精确值的原因在于其内部按照字符串存储。三.日期类型: (DATE  TIME  DATETIME  TIMESTAMP  YEAR)作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等语法:复制代码语法:        YEAR            YYYY(1901/2155)        create table t8(born_year year);#无论year指定何种宽度,最后都默认是year(4)

DATE            YYYY-MM-DD(1000-01-01/9999-12-31)

TIME            HH:MM:SS(‘-838:59:59‘/‘838:59:59‘)

DATETIME

YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59    Y)        create table t9(d date,t time,dt datetime);        insert into t9 values(now(),now(),now())        调用mysql自带的now()函数,获取当前类型指定的时间

TIMESTAMP

YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)        create table t10(time timestamp);        insert into t10 values(now());补充:    在实际应用的很多场景中,MySQL的这两种日期类型都能够满足我们的需要,存储精度都为秒,但在某些情况下,会展现出他们各自的优劣。    下面就来总结一下两种日期类型的区别。

1.DATETIME的日期范围是1001——9999年,TIMESTAMP的时间范围是1970——2038年。

2.DATETIME存储时间与时区无关,TIMESTAMP存储时间与时区有关,显示的值也依赖于时区。在mysql服务器,操作系统以及客户端连接都有时区的设置。

3.DATETIME使用8字节的存储空间,TIMESTAMP的存储空间为4字节。因此,TIMESTAMP比DATETIME的空间利用率更高。

4.DATETIME的默认值为null;TIMESTAMP的字段默认不为空(not null),默认值为当前时间(CURRENT_TIMESTAMP),如果不做特殊处理,并且update语句中没有指定该列的更新值,则默认更新为当前时间。注意:#1. 单独插入时间时,需要以字符串的形式,按照对应的格式插入#2. 插入年份时,尽量使用4位值#3. 插入两位年份时,<=69,以20开头,比如50,  结果2050                >=70,以19开头,比如71,结果1971 create table t12(y year); insert into t12 values  (50),(71);四.字符类型:注意:char和varchar括号内的参数指的都是字符的长度1.  char类型:定长,简单粗暴,浪费空间,存取速度快    字符长度范围:0-255(一个中文是一个字符,是utf8编码的3个字节)    存储:        存储char类型的值时,会往右填充空格来满足长度        例如:指定长度为10,存>10个字符则报错,存<10个字符则用空格填充直到凑够10个字符存储    检索:        在检索或者说查询时,查出的结果会自动删除尾部的空格,除非我们打开pad_char_to_full_length SQL模式(设置SQL模式:SET sql_mode = ‘PAD_CHAR_TO_FULL_LENGTH‘;        查询sql的默认模式:select @@sql_mode;)2.varchar类型:变长,精准,节省空间,存取速度慢    字符长度范围:0-65535(如果大于21845会提示用其他类型 。mysql行最大限制为65535字节,字符编码为utf-8:https://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html     存储:        varchar类型存储数据的真实内容,不会用空格填充,如果‘ab  ‘,尾部的空格也会被存起来        强调:varchar类型会在真实数据前加1-2Bytes的前缀,该前缀用来表示真实数据的bytes字节数(1-2Bytes最大表示65535个数字,正好符合mysql对row的最大字节限制,即已经足够使用)         如果真实的数据<255bytes则需要1Bytes的前缀(1Bytes=8bit 2**8最大表示的数字为255)         如果真实的数据>255bytes则需要2Bytes的前缀(2Bytes=16bit 2**16最大表示的数字为65535)     检索:         尾部有空格会保存下来,在检索或者说查询时,也会正常显示包含空格在内的内容3.相关函数:   length():查看字节数    char_length():查看字符数查看字节数#char类型:3个中文字符+2个空格=11Bytes#varchar类型:3个中文字符+1个空格=10Bytes总结:#常用字符串系列:char与varchar注:虽然varchar使用起来较为灵活,但是从整个系统的性能角度来说,char数据类型的处理速度更快,有时甚至可以超出varchar处理速度的50%。因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡

#其他字符串系列(效率:char>varchar>text)TEXT系列 TINYTEXT TEXT MEDIUMTEXT LONGTEXTBLOB 系列    TINYBLOB BLOB MEDIUMBLOB LONGBLOBBINARY系列 BINARY VARBINARY

text:text数据类型用于保存变长的大字符串,可以组多到65535 (2**16 ? 1)个字符。mediumtext:A TEXT column with a maximum length of 16,777,215 (2**24 ? 1) characters.longtext:A TEXT column with a maximum length of 4,294,967,295 or 4GB (2**32 ? 1) characters.

五.枚举类型和集合类型字段的值只能在给定范围中选择,如单选框,多选框enum    :单选 只能在给定的范围内选一个值,如性别 sex 男male/女femaleset     :多选 在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3...)示例:mysql> create table consumer(    -> id int,    -> name varchar(50),    -> sex enum(‘male‘,‘female‘,‘other‘),    -> level enum(‘vip1‘,‘vip2‘,‘vip3‘,‘vip4‘),#在指定范围内,多选一    -> fav set(‘play‘,‘music‘,‘read‘,‘study‘) #在指定范围内,多选多    -> );mysql> insert into consumer values    -> (1,‘赵云‘,‘male‘,‘vip2‘,‘read,study‘),    -> (2,‘赵云2‘,‘other‘,‘vip4‘,‘play‘);六.完整性约束(一)介绍    约束条件与数据类型的宽度一样,都是可选参数    作用:用于保证数据的完整性和一致性(二)    PRIMARY KEY (PK)    #标识该字段为该表的主键,可以唯一的标识记录    FOREIGN KEY (FK)    #标识该字段为该表的外键    NOT NULL    #标识该字段不能为空    UNIQUE KEY (UK)    #标识该字段的值是唯一的    AUTO_INCREMENT    #标识该字段的值自动增长(整数类型,而且为主键)    DEFAULT    #为该字段设置默认值说明:   #1. 是否允许为空,默认NULL,可设置NOT NULL,字段不允许为空,必须赋值    #2. 字段是否有默认值,缺省的默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值    sex enum(‘male‘,‘female‘) not null default ‘male‘

#必须为正值(无符号) 不允许为空 默认是20    age int unsigned NOT NULL default 20    3. 是否是key    主键 primary key    外键 foreign key    索引 (index,unique...)UNSIGNED #无符号ZEROFILL #使用0填充1.not null 与default    是否可空,null表示空,非字符串    not null - 不可空    null - 可空

默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值

create table tb1(        nid int not null defalut 2,        num int not null    );2.unique在mysql中称为单列唯一    第一    create table department(    id int,    name char(10) unique);    insert into department values(1,‘it‘),(2,‘sale‘);    第二:    create table department(    id int,    name char(10) ,    unique(id),    unique(name));insert into department values(1,‘it‘),(2,‘sale‘);联合唯一:    mysql> create table services(    -> id int,    -> ip char(15),    -> port int,    -> unique(id),    -> unique(ip,port)    -> );    insert into services values    -> (1,‘192,168,11,23‘,80),    -> (2,‘192,168,11,23‘,81),    -> (3,‘192,168,11,25‘,80);

3.primary key       not null + unique的化学反应,相当于给id设置primary key    单列做主键    多列做主键(复合主键)约束等价于 not null unique,字段的值不为空且唯一:存储引擎默认是(innodb):对于innodb存储引擎来说,一张表必须有一个主键。(1)单列主键    创建t14表,为id字段设置主键,唯一的不同的记录    create table t14(    id int primary key,    name char(16));    insert into t14 values    (1,‘xiaoma‘),    (2,‘xiaohong‘);    错误:insert into t14 values(2,‘wxxx‘);(2)复合主键    create table t16(    ip char(15),    port int,    primary key(ip,port));

insert into t16 values(‘1.1.1.2‘,80),(‘1.1.1.2‘,81);

4.auto_increment    约束:约束的字段为自动增长,约束的字段必须同时被key约束示例:create table student(id int primary key auto_increment,name varchar(20),sex enum(‘male‘,‘female‘) default ‘male‘);不指定idinsert into student(name) values (‘老白‘),(‘小白‘)指定IDinsert into student values(4,‘asb‘,‘female‘);再次插入一条不指定id的记录,会在之前的最后一条记录继续增长mysql>  insert into student(name) values (‘大白‘);DELETE注意:对于自增的字段,在用delete删除后,再插入值,该字段仍按照删除前的位置继续增长示例:delete:    delete from student;    insert into student(name) values(‘ysb‘);    效果:        id | name | sex  |    +----+------+------+    |  9 | ysb  | male |应该用truncate清空表,比起delete一条一条地删除记录,truncate是直接清空表,在删除大表时用它TRUNCATE清空表    truncate student    insert into student(name) values(‘xiaobai‘);   | id | name    | sex  |    +----+---------+------+    |  1 | xiaobai | male |补充:    查看可用的 开头auto_inc的词      show variables like ‘auto_inc%‘;    步长auto_increment_increment,默认为1# 起始的偏移量auto_increment_offset, 默认是1

设置步长 为会话设置,只在本次连接中有效 set session auto_increment_increment=5;  #全局设置步长 都有效。 set global auto_increment_increment=5;

# 设置起始偏移量 set global  auto_increment_offset=3;注意:    如果auto_increment_offset的值大于auto_increment_increment的值,则auto_increment_offset的值会被忽略    设置完起始偏移量和步长之后,再次执行show variables like‘auto_inc%‘;发现跟之前一样,必须先exit,再登录才有效。

清空表区分delete和truncate的区别:    delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。    truncate table t1;数据量大,删除速度比上一条快,且直接从零开始。5.foreign key情景:    公司有3个部门,但是有1个亿的员工,那意味着部门这个字段需要重复存储,部门名字越长,越浪费。解决方法:    我们完全可以定义一个部门表    员工信息表关联该表,如何关联,即foreign key一张是employee表,简称emp表(关联表,也就从表)一张是department表,简称dep表(被关联表,也叫主表)代码:    #1.创建表时先创建被关联表,再创建关联表# 先创建被关联表(dep表)create table dep(    id int primary key,    name varchar(20) not null,    descripe varchar(20) not null);

#再创建关联表(emp表)create table emp(    id int primary key,    name varchar(20) not null,    age int not null,    dep_id int,    constraint fk_dep foreign key(dep_id) references dep(id));

#2.插入记录时,先往被关联表中插入记录,再往关联表中插入记录

insert into dep values(1,‘IT‘,‘IT技术有限部门‘),(2,‘销售部‘,‘销售部门‘),(3,‘财务部‘,‘花钱太多部门‘);

insert into emp values(1,‘zhangsan‘,18,1),(2,‘lisi‘,19,1),(3,‘egon‘,20,2),(4,‘yuanhao‘,40,3),(5,‘alex‘,18,2);3.删除表    #按道理来说,删除了部门表中的某个部门,员工表的有关联的记录相继删除。    但是先删除员工表的记录之后,再删除当前部门就没有任何问题上面的删除表记录的操作比较繁琐,按道理讲,裁掉一个部门,该部门的员工也会被裁掉。其实呢,在建表的时候还有个很重要的内容,叫同步删除,同步更新注意:在关联表中加入on delete cascade #同步删除on update cascade #同步更新代码:复制代码create table emp(    id int primary key,    name varchar(20) not null,    age int not null,    dep_id int,    constraint fk_dep foreign key(dep_id) references dep(id)    on delete cascade #同步删除    on update cascade #同步更新);#再去删被关联表(dep)的记录,关联表(emp)中的记录也跟着删除 delete from dep where id=3; 再去更改被关联表(dep)的记录,关联表(emp)中的记录也跟着更改  update dep set id=222 where id=2;

原文地址:https://www.cnblogs.com/J-7-H-2-F-7/p/9557070.html

时间: 2024-10-29 19:10:58

python全栈开发 * mysql数据类型 * 180829的相关文章

python全栈开发目录

python全栈开发目录 linux命令 初识python python基础数据类型 函数编程.set.深浅拷贝 内置函数 文件操作 装饰器 迭代器和生成器 常用模块 初识类和对象 类和对象(进阶) 反射 异常处理 socket.IO多路复用 线程.进程.协程 HTML CSS JavaScript DOM文档操作 jQuery实例 web框架本质 Tornado mysql基础 mysql进阶 ..... 基本算法 递归--二分法查找 冒泡排序 更多 线程池

Python全栈开发【第一篇】:初识Python

Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与while循环练习题 基本数据类型前引 Python 的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton Python的Java实现,Jython会将Pyth

Python全栈开发【基础二】

Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 编码与进制转换 Python 运算符 1.算术运算: 2.比较运算: 3.赋值运算: 4.逻辑运算:  5.成员运算: 基本数据类型 1.数字 int(整型) 1 class int(object): 2 """ 3 int(x=0) -> integer 4 int(x, base=10) -&g

Python 全栈开发:python列表List

列表 列表是python中经常使用的数据类型,用于存放多个值. 表现形式:在[ ]内用逗号分隔,可以存放n个任意类型的值 eg: #单一类型 users=['yangli','yite','fixd'] #多类型,列表嵌套 users=['room01',['yangli',20,'音乐'],['yite',20,'篮球'],] 列表常用方法 和 函数 方法 函数 常用的操作 eg: len(list) #len(list) 计算列表的长度 ls = ['a','b','c','d'] leng

Python 全栈开发【第一篇】:目录

Python 全栈开发[第0篇]:目录 第一阶段:Python 开发入门 Python 全栈开发[第一篇]:计算机原理&Linux系统入门 Python 全栈开发[第二篇]:Python基础语法入门 Python 全栈开发[第三篇]:数据类型.字符编码.文件操作 第二阶段:函数编程&常用标准库 Python 全栈开发[第四篇]:函数.递归.生成器.迭代器 Pyhton 全栈开发[第五篇]:常用模块学习 第三阶段:面向对象编程&网络编程基础 Python 全栈开发[第六篇]:面向对象

python全栈开发学习目录

python全栈开发学习目录 第一章 计算机基础 第二章Python入门 第三章数据类型 第四章文件操作 第五章函数 第六章 模块 第七章 面向对象 第八章 网络编程 第九章 并发编程 第十章 数据库 第十一章 前端开发-html 第十一章 前端开发-css 附加:js特效 15个小demo 第十一章 前端开发-JavaScript 第十一章 前端开发-jQuery 第十一章 前端开发-bootstrap 第十二章 Django框架开发 ... 原文地址:https://www.cnblogs.

Python全栈开发【基础三】

Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 6 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 总结使用函数的好处: 1.减少代码重用 2.保持一致性,易维护

Python全栈开发

Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大,但是理解起来有些困难,因此我尽量用最简单的例子一步步的说明这个原理. 1.不带参数的装饰器 假设我定义了一个函数f,想要在不改变原来函数定义的情况下,在函数运行前打印出start,函数运行后打印出end,要实现这样一个功能该怎么实现?看下面如何用

Python全栈开发【基础四】

Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 匿名函数 lambda表达式:对于简单的函数,存在一种简便的表示方式,即lambda表达式 1 #这段代码 2 def calc(n): 3 return n**n 4 print(calc(10)) 5 6 #换成匿名函数 7 calc = lambda n:n**n 8 print(calc(10)) 匿名函数主要是和其它函数搭配使用 举例: 1 ########