python学习笔记第一天

2023-11-17

一、Python的基本语法元素

Python程序从默认的第一条语句开始,按顺序依次执行各条语句。代码块可视为复合语句。

Python使用严格的缩进(空格)来表示代码块,连续的多条具有相同缩进量的语句为一个代码块。

注释用于为程序添加说明性的文字,帮助程序员阅读和理解代码。

Python注释分单行注释和多行注释。

单行注释符号:#

多行注释是用3个英文的单引号“'''”或3个双引号“"""”作为注释的开始和结束符号

语句续行符号:“\”

作用:可将一条语句写在多行之中。

注意:在使用括号(包括 “()” “[]”和 “{}”等)时,括号中的内容可分多行书写,括号中的注释、空白和换行符都会被忽略

语句分隔符号:“;

作用:从而将多条语句写在一行”

保留字是程序设计语言中保留的单词,以便版本升级更新之后使用。

关键字是程序设计语言中作为命令或常量等的单词。

Python的保留字和关键字如下。

False          await          else          import          pass

None         break         except         in         raise

True         class         finally is         return

and         continue         or         lambda         try

as         def        from         nonlocal         while

assert         del         global         not         with

async         elif         if         or         yield

【注意】:Python区分标识符的大小写,保留字和关键字必须严格区分大小写。

二、输入函数和输出函数

输入函数:input()

语法:变量 = input('提示字符串')

注意:

1.如果需要输入整数或小数,则应使用int()或float()函数转换数据类型

2.eval()函数可返回字符串的内容,还原输入数据的原本类型,即相当于去掉字符串的引号

   变量 =eval(input('提示字符串'))

基本输出:print()

语法:print([obj1,…][,sep=' '][,end='\n'][,file=sys.stdout])

注意:

1.在输出多个数据时,默认使用空格作为输出分隔符。

2.print()函数的默认输出分隔符为空格,可用sep参数指定分隔符号,

   语法:print(变量1,变量2,sep='分隔符')

3.print()函数默认以回车换行符号作为输出结尾符号,可以用end参数指定输出结尾符号

  语法:print(变量1,变量2,end='结束符')

4.print()函数默认输出到标准输出流(即sys.stdout),可用file参数指定将数据输出到文件

三、变量与对象

变量的命名规则:

1.首字符必须是下划线、英文字母或其他Unicode字符,可包含下划线、英文字母、数字或其他Unicode字符。

2.变量名区分大小写。

3.禁止使用Python保留字或关键字

4.变量必须先定义后使用

赋值语句:=

作用:用于将数据赋值给变量。

序列赋值:一次性为多个变量赋值

如:(x,y)='ab'

注意:序列赋值时,可以在变量名之前使用“*”,不带星号的变量仅匹配一个值,剩余的值作为列表赋值给带星号的变量

多目标赋值:指用连续的多个等号将同一个数据赋值给多个变量

如:a=b=c=10

变量在第一次赋值时被创建,再次出现时可以直接使用。

变量没有数据类型的概念。数据类型属于对象,它决定了对象在内存中的存储方式。

变量引用对象。在表达式中使用变量时,变量立即被其引用的对象替代。所以变量在使用之前必须为其赋值。

变量的共享引用:指多个变量引用了同一个对象

当变量共享引用的对象是列表、字典和类等的实例对象时,如果修改了被引用对象的值,那么所有引用该对象的变量获得的将是改变之后的对象值

可以用is操作符来判断两个变量是否引用了同一个对象

局部变量与全局变量

全局变量

是指定义函数外的变量,不属于任何一个函数,这个变量可以在任何函数中使用.

局部变量

定义在某个函数中,该变量只在该函数中有效,除该函数外,都不能使用这个变量

当全局变量和局部变量同名时,在函数内使用变量,优先使用局部变量

局部变量优先级高于全局变量

如果想修改全局变量,需要声明

global [变量名]

在python中万物皆对象,变量也是一个对象,通过id()函数可以引用对象地址

引用就是数据在内存中存储时的内存编号,可变对象建立以后地址是固定的

函数也是一种对象,当函数不带括号时指代的就是该函数对象的内存地址

四、函数(多用,无论函数功能多单一多简单都使用函数来写)

1.函数的作用:

​ 用来将一段功能代码封装到一起,并起个名.

​ 在使用时,只需要使用代码的名字即可

2.函数的定义和调用(重点)

函数的定义格式:

​ def 函数名(参数列表...):

       '''

        函数说明文档

       '''

          函数功能代码...

函数使用(调用):

​         函数名(值列表...)

3. 函数调用过程(重点)

a. 函数在定义时,函数体中的代码是不执行的

b. 当产生函数调用时,程序才会跳转到函数体中执行函数的代码

c. 函数体中的代码执行完成后,回到调用处 (重点理解)

4. 函数文档注释(了解)

文档注释: DocString

写在程序文件开头的位置时,是程序文件的DocString,对整个程序进行说明

写在函数开头位置时,是对函数功能的说明, 函数的 DocString

5. 函数的实参和形参

实参:实际参数,是在函数调用时,括号中出现的数据称为实参

形参:形式参数,是在函数被调用时,接收函数调用传递过来的实参数据

实参和形参 在传递时,要一一对应.

形参中可以设置参数默认值

使用默认值 参数时,需要注意:

在默认值 参数的右侧,不能再出现没有默认值 参数

没有默认值的参数要放在前面

6. 函数的参数传递过程

参数在传递时,实参要和形参一一对应,不能多,也不能少,

实参会按顺序一一赋值给形参

不定长位置参数

*args保存具体数值,将所有参数作为元组元素传递

**kwargs保存键值对(变量:值),将所有参数作为字典元素传递

不指定具体的传递参数的个数,

7. 函数返回值(难点,重点)

return 返回一个函数的结果

格式:

​ return 数据

一个函数,无论在哪遇到return,那么这个函数都会直接结束执行,回到调用处

return 后面可以没有数据

函数也可以没有return ,函数默认返回 None

8. 函数包含多个return语句

一个函数中可以存在多个Return

但是,只能有一个语句有效

在执行顺序上,第一个遇到的Return 有效

9.函数返回多个值

解释器在执行代码时,发现return 后成如果有多个值 ,那么就会将这多个值 ,直接组包成一个元组后将这个元组返回。

10.函数的嵌套调用

当函数需要使用另一个函数的功能时可以嵌套调用,但是嵌套调用一定要有终点函数,不能套娃

递归调用是嵌套调用的特殊形式,递归调用是嵌套调用本函数,递归调用一定要有结束标志

11.当程序达成某个特定条件时需要终止执行

使用exit()函数,括号内可以像input()那样添加文字说明

12.匿名函数

        lambda [参数]:[返回值]

        lambda 定义时的注意事项

        1. lambda 默认返回表达计算结果,不需要return ,如果加了reutrn 反而报错

        func = lambda x, y: return x + y

        2. 不能使用 循环

        func = lambda x,y: for i in range(x, y): print(i)

        func = lambda x,y: i = x while i < y: print(i) i +=1

        3. 不能使用if的正常格式

        func = lambda n: if n % 2 == 0: print('偶数')

        4. 但是可以使用 if实现的三目运算符

        func = lambda m, n: m if m > n else n

13.高阶函数(一般用于文件操作和组合数据类型的处理)

map 函数

作用:是对参数列表中的元素做一个映射

参数是一个函数和一个列表

对列表的每一项做某一些操作

# 这个函数是为了给map的参数一进行传参

# 因为map函数需要使用这个函数来计算每一个元素的映射值 ,

# 所以该函数有且必须只能有一个参数

高阶函数-reduce

注意:reduce 不能直接使用,需要导入一个模块 functools

reduce 作用是根据传入的参数一对参数二中的数据进行累计操作

如对列表元素进行拼接

filter 过滤函数

过滤出符合条件的数据

默认sort方法是不能对字典进行比较排序的

按id的升序排序

my_list.sort(key=lambda d: d['id'])

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python学习笔记第一天 的相关文章

随机推荐

  • kafka 安装使用及cpp kafka例子

    1 下载kafka 安装包 wget http mirrors tuna tsinghua edu cn apache kafka 2 3 0 kafka 2 12 2 3 0 tgz tar xvzf kafka 2 12 2 3 0 t
  • Codeforces Round 896 (Div. 2) A~D

    A Make It Zero 思路 长度为偶数 从1到n操作两次 长度为奇数 先从1到n操作一次 然后从1到n 1做两次 最后n 1到n做一次 AC代码 include
  • 弱监督目标检测之二 连续优化多实例学习

    上一次的博客提到了我们实验室发表在CVPR2018以及IEEE TPAMI上的工作MELM 1 这一次的博客进一步介绍基于MELM的最新的工作C MIL 也是实验室今年被CVPR2019接收的4篇论文之一 C MIL Continuatio
  • 读书笔记---《如何高效学习》

    学习是需要方法的 特别是在当今信息爆炸的时代 如何高效的处理信息 有机的整合知识 已经成为学习的关键 如果只用一种方式了解某样事物 你就不会真正了解她 了解事物真正含义的秘密取决于如何将其与我们所了解的事物相联系 通过联系 你可将想法内化于
  • 用python做爬虫,怎么入门学什么?

    用python做爬虫 怎么入门学什么 前些日子 写了一篇Python能做什么 当然高端的算法ai领域应用非常广泛 但是对于想学习Python实现找工作或者自己网上接单兼职的小伙伴来说 还是做好爬虫更适合 那么爬虫究竟是什么呢 爬虫可以理解为
  • 【图像识别】图像特征、特征检测、特征提取

    目录 1 图像特征 2 特征检测与特征提取 2 1 特征检测算法 2 2 1Moravec 2 1 2 Harris 2 1 3 FAST 2 1 4 SIFT 2 1 5 SURF 2 1 6 BRIRF 2 1 7 ORB 2 2 特征
  • [Qt] [QDir] 创建文件夹和删除文件夹

    1 创建文件夹 mkdir和mkpath都可以创建文件夹 QDir temp bool result 创建名为test的文件夹 mkdir 若csdn文件夹不存在 则test文件夹创建失败 result temp mkdir d csdn
  • 回溯--深度优先搜索(图的M着色问题 poj1129)

    回溯 图的m着色问题 题目描述 给定无向连通图G V E 和m种不同的颜色 用这些颜色为图G的各顶点着色 每个顶点着一种颜色 是否有一种着色法使G中相邻的两个顶点有不同的颜色 这个问题是图的m可着色判定问题 若一个图最少需要m种颜色才能使图
  • 使用QGraphicsItem绘制微信消息文本框

    微信消息框如下 使用QGraphicsItem绘制 怎么绘制呢 先不考虑头像 那文本框就是由一个菱形矩形加一个小箭头组成的 所以很简单就能画出来了 void PopoItem paint QPainter painter const QSt
  • 彻底解决Python(win)导包from import错误问题

    1 一句话 一句话 关键是os sys path这个目录 这个目录有 就from import没问题 没有 就报错 解决办法就是千方百计加进去即可 例如 import os print os sys path import dd from
  • 单链表中求倒数第几个节点

    问题描述 在单链表中求出倒数第K个节点 要求快速 方法一 利用链表的长度 不推荐 此方法必须事先知道链表的长度 在有长度的信息链表中 此方法可行 比如我之前的链表是这样的实现 参考博文 http blog csdn net dawn aft
  • 机器学习之梯度提升决策树(GBDT)

    1 GBDT算法简介 GBDT Gradient Boosting Decision Tree 是一种迭代的决策树算法 由多棵决策树组成 所有树的结论累加起来作为最终答案 我们根据其名字 Gradient Boosting Decision
  • SpringAOP来监控service层中每个方法的执行时间

    使用AOP来说 太方便了 并且特别适合这类场景 代码如下 这里是将要统计的信息写到log文件中 也可以设计成写入表中 package com ecsoft interceptor import org aspectj lang Procee
  • linux版本的发行版和内核版是什么意思

    linux内核版本的分类 Linux内核版本有两种 稳定版和开发版 Linux内核版本号由3组数字组成 第一个组数字 第二组数字 第三组数字 第一个组数字 目前发布的内核主版本 第二个组数字 偶数表示稳定版本 奇数表示开发中版本 第三个组数
  • Linux扫盲篇:CentOS、Ubuntu、Gentoo

    http www williamlong info info archives 197 html Linux最早由Linus Benedict Torvalds在1991年开始编写 在这之前 Richard Stallman创建了Free
  • DirectX在VS2017环境配置

    提示 此方法是解决DirectX9在windows环境下的配置问题 原文 https xygeng cn post 249 html 具体方法 1 问题 无法打开包括文件 stdlib h 解决办法 视图 gt 属性管理器 点击 user属
  • VMware Workstation 16 安装教程

    哈喽 大家好 今天一起学习的是VMware Workstation 16的安装 vm虚拟机是小编非常喜欢的生产力软件 小编之前发布的测试教程钧在vm上进行的实验 VMware Workstation是一款功能强大的桌面虚拟计算机软件 它能够
  • K8s微服务从0到1入门及命令实战

    写在前面 本文主要介绍k8s的核心概念 基础语法 常用命令和常用操作 Kubernetes介绍 Kubernetes是一种流行的开源容器编排和管理系统 它的目标是简化部署 扩展和管理容器化应用程序 Kubernetes最初由Google开发
  • 如何让女人满意?多个心眼爱女人

    别以为只有男人甜言蜜语地哄骗女人 女人有时也会设下甜蜜的陷阱让男人钻 如果有一天 你那个素来刁蛮的小女人突然变得乖巧柔顺 温温柔柔地抱着你的胳膊说 亲爱的 我今天心情特别好 给你一分钟的时间诉诉苦苦吧 平时我有哪些缺点令你敢怒不敢言的 尽管
  • python学习笔记第一天

    一 Python的基本语法元素 Python程序从默认的第一条语句开始 按顺序依次执行各条语句 代码块可视为复合语句 Python使用严格的缩进 空格 来表示代码块 连续的多条具有相同缩进量的语句为一个代码块 注释用于为程序添加说明性的文字