python中  " "  和 ' ' 的地位相同

list []

tuple ()

dict {}

条件控制

if - elif - else

循环 while - else

count = 0
while count < 5:print (count, " 小于 5")count = count + 1
else:print (count, " 大于或等于 5")

for in - else

迭代器

迭代是Python最强大的功能之一,是访问集合元素的一种方式。。

迭代器是一个可以记住遍历的位置的对象。

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

迭代器有两个基本的方法:iter() 和 next()

字符串,列表或元组对象都可用于创建迭代器。

生成器

在 Python 中,使用了 yield 的函数被称为生成器(generator)。

跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。

在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存

当前所有的运行信息,返回yield的值。并在下一次执行 next()方法时从当前位置继续运行。

Python3 函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。


定义一个函数

你可以定义一个由自己想要功能的函数,以下是简单的规则:

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

语法

Python 定义函数使用 def 关键字,一般格式如下:

def 函数名(参数列表):函数体

可更改(mutable)与不可更改(immutable)对象

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

  • 不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。

  • 可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

python 函数的参数传递:

  • 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。

  • 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

关于函数默认参数的注意事项

  只有那些位于参数列表末尾的参数才能被赋予默认参数值,意即在函数的参数列表中拥 有默认参数值的参数不能位于没有默认参数值的参数之前。 这是因为值是按参数所处的位置依次分配的。举例来说, def func(a, b=5) 是有效的, 但 def func(a=5, b) 是无效的。

  如果你有一些具有许多参数的函数,而你又希望只对其中的一些进行指定,那么你可以通过 命名它们来给这些参数赋值——这就是关键字参数(Keyword Arguments)——我们使用命 名(关键字)而非位置(一直以来我们所使用的方式)来指定函数中的参数。 这样做有两大优点——其一,我们不再需要考虑参数的顺序,函数的使用将更加容易。其 二,我们可以只对那些我们希望赋予的参数以赋值,只要其它的参数都具有默认参数值。

函数的第一行逻辑行中的字符串是该函数的 文档字符串(DocString)。这里要注意文档字符 串也适用于后面相关章节将提到的模块(Modules)与类(Class) 。

  该文档字符串所约定的是一串多行字符串,其中第一行以某一大写字母开始,以句号结束。 第二行为空行,后跟的第三行开始是任何详细的解释说明。 在此强烈建议你在你所有重要功 能的所有文档字符串中都遵循这一约定。 我们可以通过使用函数的 __doc__ (注意其中的双下划綫)属性(属于函数的名称)来获取 函数 print_max 的文档字符串属性。

  只需要记住 Python 将所有东西都视为一个对象,这其中 自然包括函数。我们将在后面的类(Class)章节讨论有关对象的更多细节。 如果你曾使用过 Python 的 help() 函数,那么你应该已经了解了文档字符串的用途了。它所 做的便是获取函数的 __doc__ 属性并以一种整洁的方式将其呈现给你。你可以在上方的函数 中尝试一下——只需在程序中包含 help(print_max) 就行了。

  要记住你可以通过按下 q 键 来退出 help 。 自动化工具可以以这种方式检索你的程序中的文档。因此,我强烈推荐你为你编写的所有重 要的函数配以文档字符串。你的 Python 发行版中附带的 pydoc 命令与 help() 使用文档字 符串的方式类似。  

测试一个函数的执行时间:(引用)

from timeit import timeitdef func():s = 0for i in range(1000):s += iprint(s)# timeit(函数名_字符串,运行环境_字符串,number=运行次数)
t = timeit('func()', 'from __main__ import func', number=1000)
print(t)

  • 此程序测试函数运行1000次的执行时间

转载于:https://www.cnblogs.com/ya-cpp/p/6675916.html

python 入门笔记相关推荐

  1. python入门笔记——内置函数作业

    python入门笔记--内置函数作业 # 求三组连续自然数的和:求出1到10,20到30,35到45的三个和 sum1 = sum(range(1,11)) sum2 = sum(range(20,3 ...

  2. python入门笔记之初步了解代码

    # # python入门笔记之初步了解代码 #### 昨日回顾 ##### 操作系统 对计算机:秘书,管家 对人类:提供一个人性化操作台 ##### 三层架构 ```mermaid graph TD ...

  3. python入门笔记——飞机大战(极简版、未进行继承优化)

    python入门笔记--飞机大战(极简版.未进行继承优化) import random import pygame# 引用pygame里的模块 from pygame.locals import *# ...

  4. python入门笔记——类和对象⑤(继承)

    python入门笔记--类和对象⑤(继承) # python中展现面向对象的三大特征:封装.继承.多态 # 封装:把内容封装到某个地方以便后续的使用 # 对封装来说,其实就是使用初始化构造方法将内容封 ...

  5. Python 入门笔记6——列表

    Python 入门笔记6--列表 序列 列表 列表的创建 list()创建 range()创建整数列表 推导式生成列表 列表元素的增加 append()方法 +运算符操作 +=运算符操作 extend ...

  6. Python入门笔记,看完直接玩几个小案例是没有问题滴~

    这篇是纯干货分享,对python感兴趣的可以认真看起来! 小白想要入门Python爬虫,首先得了解爬虫的基本工作原理和相关的理论基础,爬虫简介部分就不细说了,都可以百度得到. 爬虫工作原理总结来讲就是 ...

  7. python新手入门笔记_2020最新Python入门笔记

    Python变量和数据类型 数据类型 print语句 注释 Python的注释以 # 开头,后面的文字直到行尾都算注释 这里要注意注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远 ...

  8. 2020最新Python入门笔记,建议收藏

    Python变量和数据类型 数据类型 print语句 注释 Python的注释以 # 开头,后面的文字直到行尾都算注释 # 这一行全部都是注释... print 'hello' # 这也是注释 这里要 ...

  9. Python入门笔记3

    1.可变字符串 修改字符串中的值,智能创建新的字符串 io.StringIO或array >>> s="hello.sxt" >>> impor ...

  10. Python入门笔记(三)

    文章目录 第十二章 异常处理 12.1 常见异常 12.2 处理异常:try-- except 12.3 创建异常类型:raise语句 12.4 断言:assert 12.5 存储数据:json.du ...

最新文章

  1. javascript --- 瀑布流的实现
  2. 三种场景不建议放在关系型数据库中
  3. jvm内存 大于 xmx_为什么我的JVM访问的内存少于通过-Xmx指定的内存?
  4. 解决未知的服务器标记“asp:ListView”。
  5. 基础编程题目集 6-3 简单求和 (10 分)
  6. iOS 14.5刚推送,苹果隐私政策就遭反垄断投诉
  7. IIS7下发布.NET1.1应用
  8. 2370. 最长理想子序列(每日一难phase2--day6)
  9. java org.jdom_Jdom使用指南
  10. 对极几何基本概念与极线约束
  11. Surface Book重装系统步骤
  12. stm32使用各种传感器的教程
  13. 计算机表格设置宽度,word表格大小调整固定单元格大小设置——想象力电脑应用...
  14. jquery判断元素内容是否为空的方法
  15. 2023年全国最新工会考试精选真题及答案43
  16. CREO:CREO软件中如何设置和使用各种标准模板文件(asm组件模板、drw工程图模板、prt零件模板)、零件模板的定制、创建零件自动产生绘图、绘图模板的定制之详细攻略
  17. imx6ul双网口(LAN8720A)
  18. 【php】foreach和多维数组
  19. linux用root权限执行命令,Linux root权限获取之sudo命令详解
  20. 记录下自己常用IDEA的配置及插件

热门文章

  1. 以前写的canvas 小游戏 贪吃蛇代码
  2. mac下开启docker API远程调用
  3. 自己封装的一个java图片验证码
  4. MySQL分库分表使用Snowflake全局ID生成器(3rd)
  5. select sum也会返回null值
  6. 为什么很难训练深度神经网络?
  7. 那些好用的小工具——Total Commander
  8. Nginx 进阶 (ssl、fpm、rewrite、cache配置等)
  9. Hibernate Validation与Spring整合各注解的用法Demo
  10. asa hacker