第一阶段小结

python简介

  定义:是一个免费,开源,跨品台,动态,面向对象的编程语言

程序执行方式:

  1. 交互式:在命令行输入指令,回车即可得到结果
  2. 文件式:将指令编写到py文件中,可以重复运行程序

函数:表示一个功能,制作函数的人叫做函数定义着,使用函数的人叫做函数调用者

变量:

  1. 定义:关联一个对象的标识
  2. 命名:必须为字母,数字或者下划线,后面跟着字母,数字,下划线,不能使用保留关键字,
  3. 建议命名:见面知意字母小写,多个单词用下划线隔开
  4. 语法:变量名 = 表达式 or 变量名1 = 变量名2 = 表达式 or 变量名1,变量名2 = 表达式1,表达式2

数据类型:

  1. None:表示不存在的特殊对象
  2. 整形(int):整数包含整数,负数,0。
    • 有十进制,二进制,八进制,十六进制
    • 小整数对象池:cpython中整数-5到256,永远存在小整数对象池中,不会释放
    • 对象池:缓存的机制
  3. 浮点型(float)
    • 小数,包含正数,负数,0.0
    • 字面值1.5
    • 科学计数法:1.5e1 ,05e-1
  4. 字符串(str)
    • 用于记录文本信息
    • 字面值:单引号,双引号,三引号
  5. 布尔值(bool)
    • True表示真
    • False表示假
  6. 复数(complex)
    • 由实部和虚部组成的数字
    • 虚部以j或J结尾 5+3j     5j

数据类型转换

  • 转为整形:int(数据)
  • 转为浮点型:float(数据)
  • 转为字符串: str(数据)
  • 转为布尔 : bool(数据)
    • False: 0 , 0.0 ,'',None
    • True:有值

运算符

  1. 算数运算符
    • +
    • -
    • *
    • / 小数除结果为float类型
    • // 底板除:向下取整
    • %取余数
    • **幂运算
  2. 增强运算符:-=   +=  *=  /=  //=  %=  **=
  3. 比较运算符:>  <   ==  >=   <=  !=结果是bool类型
  4. 逻辑运算符
    • and: 一假具假
    • or:一真则真
    • not:取反
  5. 身份运算符
    • is:判断两个对象是否为一个对象
    • is not :与is相反

range函数

  作用:可以生成一系列整数的可迭代对象。

  语法:range(开始点,结束点,间隔点)

break语句:跳出循环体,后面的代码不在执行

continue语句:跳过本次循环,继续下次循环

容器

  1. 字符串(str):由一系列字符组成的不可变序列容器,存储的是字符编码值
  2. 列表(list):由一系列变量组成的可变序列容器
    • 列表推导式:变量= [表达式for变量in可迭代对象if条件]
    • 推导式镶嵌:[表达式for变量1 in可迭代对象1 for变量2 in可迭代对象2]
  3. 元组(tuple):由一系列变量组成的不可变序列容器
  4. 字典(dict):由一系列键值对组成的可变映射容器
    • 映射(哈希算法):通过键对应值,每条记录无序。
    • 键必须唯一且不可变对象(字符串,数字,元组),值没有限制
  5. 集合(set):由一些列不重复的变量组成的可变映射容器,相当于只有键没有值的字典
  6. 固定集合(frozenset):不可变的集合

函数

  定义:用于封装一个特定的功能,表示一个行为,可以重复执行的语句块。

  作用:提供程序的复用性,可维护性(代码层次结构更清晰)

  返回值(return):方法定义着告诉调用的结果

函数参数

  1. 实参传递方式argument
    • 位置传参:实参与形参的位置一次对应
    • 序列传参:实参用*将序列拆解后与形参的位置依次对应
    • 关键字传参:实参根据形参的名字进行对应
    • 字典传参:实参用**将字典蔡姐与形参的名字进行对应
  2. 形参传递方式 parameter
    • 默认(缺省)参数:参数 = 默认值
    • 位置形参:def函数名(参数)
    • 星号元组形参:*args
    • 命名关键字形参:强制实参使用关键字传递
    • 双星号字典形参 : **kwargs

可变/不可变类型再传参时的区别:

  1. 不可变类型:字符串,元组,固定集合,整数。浮点数。复数
  2. 可变类型:列表,字典,集合
  3. 不可变类型的数据传参时,函数内部不会改变元数据的值
  4. 可变类型的数据传参时,函数内部可能改变原数据的值

作用域LEGB

  1. local局部作用域:函数内部
  2. encolsing外部嵌套作用域:函数嵌套
  3. GLOBAL全局作用域:py文件内部
  4. Builtins内建模块作用域:builtins.py
  5. 变量名的查找规则:L-->E-->G--B

局部变量:在方法体内部定义的变量调用函数时才被创建,函数结束后自动销毁

全局变量:定义再.py文件中的变量函数体内部可以访问,但不能直接修改,需要先声明

模块:包含一系列数据,函数,类的文件,通常以.py结尾

      作用:让一些相关的数据,函数,类的逻辑的组织再一起,使逻辑结构更加清晰,有利于多人合作开发。

      导入

    • import 模块名:将某模块整体导入到当前模块中
    • from 模块名 import 成员名:将模块内的一个或多个成员导入到当前模块的作用域中
    • from 模块名import *:将模块的所有成员导入到挡墙模块

     加载过程:在模块导入时,模块的所有语句会执行。如果一个模块已经导入,则再次导入时不会执行模块内的语句

   分类:

    1. 内置模块(builtins),在解析器的内部可以直接使用
    2. 标准库模块,安装Python时已安装且可直接使用
    3. 第三方模块,需要自己安装
    4. 用户自己编写的模块(可以作为其他人的第三方模块)

迭代:每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值

可迭代对象(iterable):具有__iter__函数的对象,可以返回迭代器对象

迭代器对象(iterator):可以被next()函数调用并返回下一个值的对象

   说明:聚合对象通常是容器对象

   作用:使用者只需要通过一种方式,便可简洁明了的获取聚合对象中各个元素,而无需了解其内部结构

生成器(generator):能够动态(循环一次计算一次返回一次)提供数据的可迭代对象

   作用:在循环过程中,按照某种算法推算数据,不必创建容器存储完整的结果,从而节省内存空间,数据量越大,优势越明显

生成器函数:含有yield语句的函数,返回值为生成器对象

函数式编程:用一系列函数解决问题

    • 函数可以赋值给变量,赋值后变量绑定函数
    • 允许将函数作为参数传入另一个函数
    • 允许函数返回一个函数

高阶函数:将函数作为参数或返回值的函数

函数作为参数:将核心逻辑传入方法体,使该方法的适用性更广,体现了面向对象的开闭原则 

lambda表达式:是一种匿名方法

    作用:作为参数传递时语法简洁,优雅,代码可读性强,随时创建和销毁,减少程序耦合度

    语法:变量 = lambda形参:方法体 方法体只能有一条语句,且不支持赋值语句

闭包:

  三要素

  1. 必须有一个内嵌函数
  2. 内嵌函数必须引用外部函数中变量
  3. 外部函数返回值必须是内嵌函数

  定义:再一个函数内部的函数,用时内部函数又引用了外部函数的变量

  本质:闭包是将内部函数和外部函数的执行环境绑定再一起的地下

  优点:内部函数可以使用外部变量

  缺点:外部变量一直存在于内存中,不会在调用结束后释放,占用内存

  作用:实现Python装饰器

  

 

转载于:https://www.cnblogs.com/Acekr/p/11272437.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

@JsonSerialize 使用:注解方式 实现条件判断属性值、条件修改属性值

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 数据库中是 1、0 记录性别。 预期效果为&#xff1a;当查到属性值为 1 时&#xff0c;就给序列化后的 json 中性别字段赋值为 “男”…

科目二、科目三易挂项目整理和网友支招

虽然已顺利的拿到小黑本本&#xff0c;成了杀手&#xff0c;但回想起学车的种种经历&#xff0c;不免感慨万千&#xff01;感谢各位网友提供的种种信息&#xff0c;我才能很有信心的顺利通过考试。因此&#xff0c;想把一些失败的经历汇总起来为后来者提个醒&#xff0c;做到心…

我该如何介绍我自己

今天和销售总监一起去见客户&#xff0c;早上8&#xff1a;47分的高铁到苏州。6&#xff1a;30起床&#xff0c;7点赶地铁……上了高铁&#xff0c;和销售总监闲聊几句&#xff0c;看了一点杂志耳边就听到列车广播传出优美的妹子声“苏州园区到了……”。25分钟就到了苏州&…

@JsonSerialize 与 @JsonDeserialize 使用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1、以注解方式使用&#xff1a; JsonDeserialize(using DateJsonDeserializer.class) JsonSerialize(using DateJsonSerializer.class)…

【Android开发】NDK开发(1)-Hello World!

上半年&#xff0c;公司的一个项目&#xff0c;本身我是不喜欢Android开发的&#xff0c;但是学习到的东西总需要整理一下。 从iOS转到Android&#xff0c;真心有些不习惯。就IDE来说&#xff0c;eclipse比Xcode差的不是一点半点。Android模拟器竟然还要开机&#xff01;我勒个…

每天30分钟:成功有效的学习方法

《每天坚持30分钟》&#xff0c;是一本讲述学习方法、提高学习效率的畅销书&#xff0c;作者&#xff1a;古市幸雄&#xff0c;日本销量50万余册&#xff0c;专为没有学习习惯的人而写。 《每天坚持30分钟》摘录 第一章 只有学习才能成功 1、有“学习意识”时&#xff0c;学习欲…

修改 input 框里的字体、颜色

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 /* WebKit browsers */ input::-webkit-input-placeholder {color: #C0C0C0;font-size: 14px; } /* Mozilla Firefox 4 to 18 */ input…

Easyjs 细说Javascript里的 闭包(Closure)

要成为高级 JavaScript 程序员&#xff0c;就必须理解闭包。闭包有时你非用她不可&#xff0c; 所有理解闭包还是必要的。笔者通过例子来说一下“闭包” 1.定义一个函数的代理&#xff1a; functiondelegate (fn, scope, args, append) { returnfunction/*匿名函数1*/(…

学习方法书籍 很好推荐

学习方法书籍&#xff1a;一《超级学习法》&#xff1a; 这是一种优秀的学习法。美国纽约华尔街10号的“超级记忆法有限公司”和保加利亚的罗扎诺夫学院都在推广这一种学习方法。日本长野吉田高中应用该方法使学生平均成绩提高20分&#xff0c;日本东海大学的关英男教授用这种方…

js 取两位小数

var totalPrice (product.unitPrice * product.nums).toFixed(2);转载于:https://www.cnblogs.com/yqlwl66/p/4155606.html

jQuery 实现表格与 ckeckbox 的全选、单选功能

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 功能点 1. 用户点击头的checkbox时&#xff0c;所有表格数据行的checkbox全选或反选。 当数据行某一行没有选中时&#xff0c;头check…

jquery checkbox 选中、改变状态、change 和 click 事件

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 jquery判断checked的三种方法: ​​​​​​​ .attr(checked); //看版本1.6返回:”checked”或”undefined” ;1.5-返回:true或false …

中医教你5个补肾护发食疗方

一个人的头发有10万到15万根&#xff0c;每根头发都有个毛囊&#xff0c;从毛囊里又生成毛球&#xff0c;长出头发。头发从长出到脱落&#xff0c;要经过3个周期&#xff0c;即成长期(约2&#xff5e;7年)、退缩期(约1个月)和休止期(约4个月)。 头发的生长速度和密度随年龄而变…

VUE:checkbox 单选框(单选、多选)、一选全选 / 全选一选、表格单选列实现

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 效果&#xff1a;如红框中部分。 一选全选&#xff1a;表头上的单选框选中则下面每行都选中。 全选一选&#xff1a;表中数据每行都…

我爱学习第一天(委托)

---恢复内容开始--- 1.delegate 一般用法 delegate void WriteValue(string vale);//申明一个委托,参数是string类型,无返回值static void Main(string[] args){WriteValue write new WriteValue(WriteLine);//实例化委托write("喝水");//调用Console.ReadKey();}pu…

怎样洗头使头发变黑变多

洗头法 头发变黑变粗--用淘米水洗头。每天煮饭时会产生淘米水&#xff0c;请将淘米水留下&#xff0c;装在一个容器内放上二天&#xff0c;让它自然发酵。然后用来洗头&#xff0c;三天洗一次&#xff0c;不出三个月&#xff0c;你的头发就会变粗、变黑。 发酵后的淘米水会有一…

VUE:父子组件间传参、子组件传值给父组件、父组件传值给子组件

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Vue是一个轻量级的渐进式框架&#xff0c;对于它的一些特性和优点在此就不做赘述&#xff0c;本篇文章主要来探讨一下Vue子父组件通信的…

c1科目三考试技巧

起步平稳。转向灯不要错了。靠边要和路边平行。离边近量保持&#xff1a;30CM距离。车子在运行中。换档尽量保持利落。若道路比较复杂。看好路牌路标&#xff0c;不要违规。一般很容易过的。你不要紧张。晚上夜考灯光把好。一切很顺利的。祝你好运。 方法/步骤 紧记着“一灯二…

Astyle 一键格式化项目代码

代码格式化差异问题&#xff1a; 一个团队有多个开发&#xff0c;因开发习惯不同&#xff0c;开发时少添加了空格、换行等。 格式化代码时&#xff0c;一般会将整个文档格式化&#xff0c;代码提交时会发现未知的修改项。 Astyle格式化工具 官网下载地址&#xff1a;Artistic S…

浅谈 JavaScript、ECMAScript (ES5、ES6)是什么、相互关系

一、ECMAScript 和 JavaScript 的关系 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 ES6 ECMAScript6 从百度百科的资料上来看&#xff1a; ECMAScript是一种由Ecma国际通过ECMA-…