首页 > 编程语言 >聪明办法学Python chap 2 chap 3

聪明办法学Python chap 2 chap 3

时间:2024-12-02 19:54:56浏览次数:3  
标签:function 函数 Python 聪明 运算符 chap 参数 字符串 赋值

Chap 2 数据类型和操作

数据类型

基础类型:
  • 整型 (int)

  • 浮点数 (float)

  • 字符串(str)

  • 布尔型 (bool) True / False

  • 类型 Type ("类型"也是一种类型)

    print(type(2))
    print(type(2.2))
    print(type(2 < 2.2))
    print(type(type(2)))
    
    <class 'int'>
    <class 'float'>
    <class 'bool'>
    <class 'type'>
    
复杂类型:

• 列表(list):可存储不同类型元素,动态增删。例如[1, "two", True]。

• 元组(tuple):类似列表但不可修改,如(1, 2, 3)。

• 集合(set):存储不重复元素,可进行集合运算,如{1, 2, 3}。

• 字典(dictionary):键值对存储,通过键快速查找值,如{"key": "value"}。

• 复数(complex):表示复数,如3 + 4j。

• 函数(function):可作为数据类型,代表可执行代码块。

• 模块(module):一组相关函数和变量集合。

内置运算符:

算术运算符

  • +:加法
  • -:减法
  • *:乘法
  • /:除法
  • //:整除(结果为整数)
  • %:取模(余数)
  • **:幂运算

比较运算符

  • ==:等于
  • !=:不等于
  • >:大于
  • <:小于
  • >=:大于等于
  • <=:小于等于

逻辑运算符

  • and:逻辑与
  • or:逻辑或
  • not:逻辑非

赋值运算符

  • =:赋值
  • +=:加法赋值(例如:x += 1 等同于 x = x + 1
  • -=:减法赋值
  • *=:乘法赋值
  • /=:除法赋值
  • //=:整除赋值
  • %=:取模赋值
  • **=:幂运算赋值

位运算符

  • &:按位与
  • |:按位或
  • ^:按位异或
  • ~:按位取反
  • <<:左移
  • >>:右移

成员运算符

  • in:检查元素是否存在于序列中
  • not in:检查元素是否不存在于序列中

身份运算符

  • is:检查两个引用是否指向同一个对象
  • is not:检查两个引用是否不指向同一个对象

数据操作

  • 整型和浮点数可以直接参与数学运算,只有整型的运算的结果为整型,有浮点数参与的运算结果为浮点数
  • 字符串,列表等数据的切片索引从 0 开始到 n-1 (n为数据长度)

字符串切片规则:

string[start:stop:step]

start:切片开始的位置(包含该位置)。如果省略,默认从字符串的开头开始。

stop:切片结束的位置(不包含该位置)。如果省略,默认到字符串的末尾。

step:步长,即每次跳过的字符数。如果省略,默认为1。

所有拥有索引的数据类型切片规则与字符串类似

注意:

  1. 索引可以是负数,表示从字符串的末尾开始计数。例如,s[-1]表示字符串的最后一个字符。
  2. 如果start大于stop,切片结果为空字符串。
  3. 如果step为负数,切片将反向进行。
  4. 切片操作不会改变原始字符串,它返回的是原始字符串的一个新副本。
  5. 切片的索引超出字符串范围不会导致错误,Python会默默地处理这种情况,返回可用的部分。
  • 字典:以键值对的形式储存数据,可以通过 作为索引来获取对应的

Chap 3 变量与函数

变量:

  • 变量只是一个名字,指代一段数据
  • 通过 = 来给变量赋值
  • 每次赋值都会覆盖掉原来的值
  • 变量命名规则:

必须以字母或下划线_开头

命名可由字母、数字和下划线组成

大小写敏感

尽量避免使用保留字命名

保留字

False              class             finally        is               return
None               continue          for            lambda           try
True               def               from           nonlocal         while
and                del               global         not              with
as                 elif              if             or               yield
assert             else              import         pass
break              except            in             raise

函数:

def function_name(parameters):
    
    # 函数体

    return some_value
  • 函数由两个部分组成:header (即上面的function_name)和 body

header用于定义函数的名称参数

  • 当函数被调用时,参数将会作为变量被提供给函数的 body 部分
  • 可以提供多个参数(用逗号 , 分隔),也可以不提供参数(0 个)
  • header 以冒号(:)结尾,代表后面会跟着 body 部分

body 包含函数执行的语句(statement

  • 语句需要缩进
  • 当语句不再缩进,函数部分结束
  • 一般会使用 return 语句,来让函数返回其结果,但不是必须的

函数的目的是将一部分在主程序中反复出现的代码,或者完成某一特定功能的代码(这两者之间明显的划分)抽象出来,构造成一个函数,增加代码的可读性

另外讲到函数的位置参数和关键字参数

def function(a,b,c):
    ans = a+b*c
    return ans

ans1 = function(1, 2, 3)
ans2 = function(c=3, a=1, b=2)

在这段代码中ans1ans2的结果是一样的,但是采用了不用的提供参数的形式

  1. 位置参数

    ans1 = function(1, 2, 3)
    

    在这种方式中,实参的顺序必须与形参的顺序相匹配。

    函数调用 function(1, 2, 3) 使用了位置参数,其中 1 被赋值给 a2 被赋值给 b3 被赋值给 c

  2. 关键字参数

    ans2 = function(c=3, a=1, b=2)
    

    在这种方式中,实参通过参数名来指定,这允许你以任何顺序提供参数,只要它们与形参匹配。

    函数调用 function(a=1, b=2, c=3) 使用了关键字参数,其中 a 被明确地赋值为 1b 被赋值为 2c 被赋值为 3

两种调用方式在功能上是等价的,它们都会得到相同的结果。在这个例子中,函数 function 计算的是 a + b * c。对于两种调用方式:

function(1, 2, 3) 计算的是 1 + 2 * 3,结果是 1 + 6 = 7
function(a=1, b=2, c=3) 同样计算的是 1 + 2 * 3,结果也是 7

关键字参数的一个好处是它们可以提高代码的可读性,特别是当函数有多个参数时。

标签:function,函数,Python,聪明,运算符,chap,参数,字符串,赋值
From: https://www.cnblogs.com/nobu/p/18582565

相关文章

  • python毕设 健康监控系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于健康监控系统的研究,现有研究主要集中在特定疾病的监测或者单一功能的健康管理方面,如仅专注于运动监测或者体检数据管理等。专门针......
  • python毕设 商场购物管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于商场购物管理系统的研究,现有研究主要以传统的管理模式和通用的商业管理系统为主。专门针对商场购物场景下,融合用户、商家、商品分......
  • COMP09110 Python for Network Engineers
    FINALCOURSEWORKINSTRUCTIONS[50%offinalmark]COMP09110PythonforNetworkEngineersThistaskisdesignedtotesttheabilitytoputintopracticetheknowledgegainedduringyourmodule.Yourtaskwillbetocreateasimplevideogameserverthats......
  • PythonDay8Advance
    PythonDay8Advance正则表达式本身也是一个字符串,其中的字符具有特殊含义,将来我们可以根据这个字符串【正则表达式】去处理其他的字符串,比如可以对其他字符串进行匹配,切分,查找,替换等一系列操作。是一个独立于任何一门语言的技术,任何一门语言中都可以使用同一个正则表达式去操......
  • 《python基于RSA算法的数字签名生成软件》毕业设计项目
    大家好我是蓝天,混迹在java圈的辛苦码农。今天要和大家聊的是一款《python基于RSA算法的数字签名生成软件》毕业设计项目。项目源码以及部署相关请联系蓝天,文末附上联系信息。......
  • 《python基于RSA算法的数字签名生成软件》
    大家好我是小村学长,混迹在java圈的辛苦码农。今天要和大家聊的是一款《python基于RSA算法的数字签名生成软件》毕业设计项目。项目源码以及部署相关请联系小村学长,文末附上联系信息。......
  • 聪明办法学python Task05 条件&扩展01:代码风格/Python规范Style
    条件if与c语言的逻辑相似,就不多叙述了代码布局-缩进如果有开始定界符,其余行的缩进需与开始定界符对齐需要额外的4个空格(长度相当于一个Tab键),以区分开传入参数,和其它内容空格一般用于添加以上这种缩进,Tab键一般用于保持行与行之间的一致性多行if语句衔接,需要一......
  • 基于python的旅游信息可视化系统
    摘要:大数据时代,数据的量呈爆炸式增长,数据来源也变得越来越多样化,数据变得非常杂乱和复杂。可视化系统可为我们提供直观的数据展示方式,帮助用户更好地理解数据。本系统通过挖掘复杂异构多源数据之间的关联关系将国家统计局中零散的进行数据可视化,为政策制定和决策提供有力的支......
  • python md5 加密
    MD5(Message-DigestAlgorithm5)是一种广泛使用的哈希函数,由RonaldRivest在1991年设计。它将任意长度的数据映射为一个128位的哈希值(通常表示为32个十六进制字符)。MD5主要用于数据完整性验证,确保数据在传输过程中没有被篡改。主要特点固定输出长度:无论输入数据的长度......
  • Python入门语基础法之类和对象
    类和对象对象和类的基本概念面向过程的编程思想:每一步的实现过程都是我们一步一步参与实现的,相当于参与者【代表语言:C语言】面向对象的编程思想:我们在自己程序中,创建别人写好类的对象,调用别人写好的功能,相当于指挥者【代表语言:java,python】举例:吃饭:点外卖(面向对象用......