python基础学习--数据类型、语句、函数

news2025/1/4 16:08:55

python的语法比较简单,采用缩进形式,如下:

在这里# print absolute value of an integer:
a = 100
if a >= 0:
    print(a)
else:
    print(-a)插入代码片

以“#”开头的语句是注释。

注意:python是大小写敏感的,如果先写错了大小写,程序会报错。

一、输入与输出
1.输出
print()在括号中加上字符串(加双引号)、整数等,就可以输出指定的内容。如:print(“hello, world”)。
此外,print()函数还可以接受多个字符串,用逗号隔开,就可以连成一串输出,print()会依次打印每个字符串,遇到逗号会输出一个空格。
在这里插入图片描述
2.输入
使用input()函数,例如:
在这里插入图片描述
注意:input()还可以使用提示字,不过这是默认输入的数据的类型是字符串(str)。(数据类型后面讲解)
在这里插入图片描述

二、数据类型
1.整数
python可以处理任意大小的整数。对于很大的数,例如10000000000,很难数清0的个数,python允许在数字中间以“_”分割,写成10_000_000_000和10000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4.
2.浮点数
3.字符串
字符串可以是用单引号或双引号括起来的任意文本。字符串中本身包括单引号或双引号使用转义字符""来标识。python还允许用字母r表示字符串默认不转义,例如:
在这里插入图片描述
4.布尔值
python中用True和False表示布尔值(注意大小写)。
布尔值可以用and、or和not运算。
5.空值
python中空值用None表示。None不能理解为0,因为0是无意义的,而None是一个特殊的空值。
注意:python是动态语言,变量本身类型不固定,在定义变量时不需要指定变量类型。
6.list
python中内置的一种数据类型是列表list.list是一种有序的集合,可以随时添加和删除其中的元素。
例如:
在这里插入图片描述
(1)变量classmates就是一个list,用len()函数可以获得list元素的个数:
在这里插入图片描述
用索引来访问list中每一个位置的元素,记得索引是从0开始的:
在这里插入图片描述
如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:
在这里插入图片描述
(2)往list中加元素,使用append()追加到末尾:
在这里插入图片描述
(3)也可以把元素插入到指定的位置,使用insert():
在这里插入图片描述
(4)使用pop()删除list末尾的元素或指定位置的元素:
在这里插入图片描述
在这里插入图片描述
(5)要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
在这里插入图片描述
另外:
list里面的元素的数据类型也可以不同,比如:
L = [‘Apple’, 123, True]
list元素也可以是另一个list,比如:
在这里插入图片描述
要注意s只有4个元素,其中s[2]又是一个list,如果拆开写就更容易理解了:
在这里插入图片描述
要拿到’php’可以写p[1]或者s[2][1],因此s可以看成是一个二维数组,类似的还有三维、四维……数组,不过很少用到。
7.tuple
tuple叫元组,也是一种有序列表,但是tuple一旦初始化就不能修改。没有append(),insert()这样的方法,其他获取元素的方法和list是一样的。
在这里插入图片描述
8.dict
dict全程dictionary,在其他语言中也成为map。
在这里插入图片描述
默认情况下,dict迭代的是key。例如:
在这里插入图片描述
如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()。

9.set
set是集合,不能有重复的元素,元素无序。
在这里插入图片描述

三、条件判断
格式:

在这里插if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>入代码片

注:elif是else if 的缩写。不要缺少冒号。

四、循环
(1)for … in 循环

在这里names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)插入代码片

执行这段代码,会依次打印names的每一个元素。
(2)while循环
格式:
while <条件判断> :
<执行1>

补:break和continue在python中的作用与在其它编程语言中一致。

五、函数
python中内置了很多有用的函数,可以直接从python的官方网站查看文档来了解函数的用法,也可以在交互式命令行通过help(函数名)来查看指定函数的帮助信息。
1.定义函数
(1)格式:
def <函数名>(参数):
<执行1>
例如:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

(2)如果想定义一个什么事也不做的空函数,可以用pass语句,pass语句什么也不做,可以用来作为占位符,比如现在还没有想好怎么写函数的代码,就先放一个pass,让代码能运行起来。pass也可放在其他语句里如条件判断语句、循环语句等。
(3)函数可以有多个返回值。
例如:

import math

def move(x, y, step, angle=0):
    nx = x + step * math.cos(angle)
    ny = y - step * math.sin(angle)
    return nx, ny

但其实这只是一种假象,Python函数返回的仍然是单一值:
在这里插入图片描述
原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。
2.函数的参数
(1)默认参数
默认参数可以理解为缺省参数。
例如:

def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

这样,当我们调用power(5)时,相当于调用power(5, 2),而对于n > 2的其他情况,就必须明确地传入n,比如power(5, 3)。
注意:必选参数在前,默认参数在后,否则Python的解释器会报错。
默认参数有个最大的坑:

def add_end(L=[]):
    L.append('END')
    return L

当你使用默认参数调用时,一开始结果也是对的:
在这里插入图片描述
但是,再次调用add_end()时,结果就不对了:
在这里插入图片描述
原因解释如下:

Python函数在定义的时候,默认参数L的值就被计算出来了,即[],因为默认参数L也是一个变量,它指向对象[],每次调用该函数,如果改变了L的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。

定义默认参数要牢记一点:默认参数必须指向不变对象
要修改上面的例子,我们可以用None这个不变对象来实现:

def add_end(L=None):
    if L is None:
        L = []
    L.append('END')
    return L

2.可变参数
可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。
定义可变参数时在参数前面加一个*号。在函数内部,接收到的是一个tuple。
例如:

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum

在这里插入图片描述
如果已经有一个list或者tuple,Python允许在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:
在这里插入图片描述
*nums表示把nums这个list的所有元素作为可变参数传进去。
当然也可写成:
在这里插入图片描述
3.关键字参数

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

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

相关文章

在线 OJ 项目(二) · 操作数据库 · 设计前后端交互的 API · 实现在线编译运行功能

一、操作数据库前的准备二、封装操作数据库数据的相关操作三、设计前后端交互的 API四、实现在线编译运行功能一、操作数据库前的准备 设计数据库表 我们需要对数据库中存储的题目进行操作. 创建一个 “题目表” oj_table 题目的序号 id. 作为题目表的自增主键。 标题 title.…

Android之常见的使用技巧

文章目录1.全局获取Context的技巧2.使用Intent传递对象Serializable方式Parcelable方式3.定制自己的日志工具4.深色主题5.Java和Kotlin代码之间的转换1.全局获取Context的技巧 在Android中&#xff0c;你会发现有很多地方都需要用到Context&#xff0c;例如&#xff1a;弹出To…

设计模式在项目中的运用

一、如何管理庞大而复杂的项目开发&#xff1f;1、从设计原则和思想的角度来看&#xff0c;如何应对庞大而复杂的项目开发&#xff1f;① 封装与抽象&#xff1a;“一切皆文件”:封装了不同类型设备的访问细节&#xff0c;抽象为统一的文件访问方式&#xff0c;更高层的代码就能…

windows下解决Git报错: LF will be replaced by CRLF the next time Git touches it

问题 在命令行执行git add *的时候&#xff0c;提示Warning&#xff1a; 通常情况下是在 Windows环境中才会遇到。 原因 Uinx/Linux采用换行符LF表示下一行&#xff08;LF&#xff1a;LineFeed&#xff0c;中文意思是换行&#xff09;&#xff0c;即&#xff1a;\n&#xff1…

Visual Transformer开端——ViT及其代码实现

深度学习知识点总结 专栏链接: https://blog.csdn.net/qq_39707285/article/details/124005405 此专栏主要总结深度学习中的知识点&#xff0c;从各大数据集比赛开始&#xff0c;介绍历年冠军算法&#xff1b;同时总结深度学习中重要的知识点&#xff0c;包括损失函数、优化器…

购买和登录Linux云服务器

目录 云服务器的购买 SSH登录云服务器 云服务器的购买 我们以腾讯云为例, 其他的服务器厂商也是类似。 1. 进入腾讯云官方网站&#xff1a;学生云服务器_云校园特惠套餐 - 腾讯云 (tencent.com) 2. 登陆网站(可以使用微信登陆) 3.购买云服务器 购买最低级即可&#xff0c;对于…

36/365 java 类的加载 链接 初始化 ClassLoader

1.类的加载&#xff0c;链接&#xff0c;初始化 注意点&#xff1a; Class对象是在类的加载过程中生成的&#xff08;类的数据&#xff08;static,常量&#xff0c;代码&#xff09;在方法区&#xff0c;Class类对象在堆中&#xff09;&#xff0c;这个Class类对象作为方法区中…

Canvas 实现台球假想球精准定位

1. 前言 台球是一个让人非常着迷的运动项目&#xff0c;充满了各种计算逻辑&#xff0c;十分有趣。 对于初学者&#xff0c;母球、目标球、袋口三者在一条线上的时候&#xff0c;是非常容易进球的&#xff0c;但对于三者不在一条线上时&#xff0c;就是需要假想球的帮助&…

Windows 上安装 Insomnia 代替 Postman

Windows 上安装 Insomnia 代替 PostmanInsomnia 概述官网地址下载和安装 Insomnia使用 InsomniaInsomnia 概述 Insomnia 是一个开源桌面应用程序&#xff0c;它提供了设计、调试和测试API的简单方法。 通过对开发者友好的界面、内置的自动化和可扩展的插件生态系统&#xff0…

自动驾驶中间件:量产落地的关键技术

/ 导读 /对于初入自动驾驶行业的人来说&#xff0c;各色各样的新型传感器、线控系统、芯片域控制器、算法软件似乎是自动驾驶未来实现的重中之重&#xff0c;对于中间件大多数人可能都不太熟悉&#xff0c;有些甚至从未听说过其存在。但中间件却也是极为重要的一环&#xff0c;…

设计模式-创建型模式

目录 4.创建型模式 4.1 单例设计模式 4.1.1 单例模式的结构 4.1.2 单例模式的实现 4.1.3 存在的问题 4.1.4 JDK源码解析-Runtime类 4.2 工厂模式 4.2.1 概述 4.2.2 简单工厂模式 4.2.3 工厂方法模式 4.2.4 抽象工厂模式 4.2.5 模式扩展 4.2.6 JDK源码解析-Collecti…

Kotlin~生成器模式

介绍 主要作用 逐步构造复杂对象&#xff0c;该对象的属性更多的扩展属性&#xff0c;如Glide的使用。 组成 Builder&#xff1a;提供逐步创建产品的步骤 Director&#xff1a;创建可复用的特定产品&#xff08;规定Builder规定一系列的步骤创建产品&#xff0c;非必须&…

21新版FL Studio水果电音编曲Daw宿主软件好不好用?

首先是FL Studio&#xff08;以下简称FL&#xff09;的逻辑和其它宿主软件都不太一样&#xff0c;FL的逻辑就与众不同。FL的逻辑也可以分为三部分&#xff1a;通道机架、混音台和播放列表。在Live里每个发送轨都可以插入一个乐器以及若干个效果器。你有200个发送轨&#xff0c;…

vcenter 起不来报错VMware ESX 找不到虚拟磁盘“vCenter Server 7.0U3_12.vmdk”。请确认路径有效并重试

针对无快照时丢失.vmdk描述符文件&#xff1a;基础磁盘文件为-flat.vmdk是存在的 那个可以进行恢复操作步骤如下1.确定 flat.vmdk基础磁盘文件的大小&#xff08;字节&#xff09;2.创建与flat.vmdk相同大小的新的空虚拟磁盘。3.重命名新创建的.vmdk磁盘的描述符文件匹配原始虚…

如何运行一个py项目

在pycharm中打开项目文件确保安装python环境此时是使用python3.7版本&#xff0c;没有的话需要添加环境&#xff1a;add interpreter在anaconda&#xff08;安装参考https://blog.csdn.net/m0_67357141/article/details/123633490&#xff09;中选择基础环境&#xff08;base&a…

Python中的列表

1.创建列表 使用中括号把要添加的元素括起来&#xff0c;不同元素用逗号隔开。 >>> rhyme [1, 2, 3, 4, 5, "上山打老虎"] >>> print(rhyme) [1, 2, 3, 4, 5, 上山打老虎]2.访问列表中的元素 &#xff08;1&#xff09;希望顺序访问列表中的元…

博弈论入门

分类 要素 常见博弈 完全信息静态博弈 纳什均衡 囚徒困境 古诺双寡头模型 古诺双寡头模型的条件 市场中有且仅有两家公司策略为同质商品的量&#xff0c;qiq_iqi​边际成本为c&#xff0c;生产成本就为c*q&#xff0c;在这里我们的边际成本是常数。需求曲线&#xff1a;Pa−b∗…

2009-01-从学校毕业步入社会

在一间坐满学生的教室中&#xff0c;台上同学正在对自己毕业答辩项目进行介绍&#xff0c;台下第一排坐着打分的老师&#xff0c;这群人正在进行计算机专业的毕业答辩&#xff0c;台下人群中一个叫刘文轩的同学紧张又期盼的看着前面正在进行答辩的同学&#xff0c;看着同学们优…

react中useReduer和useEffect

相信很多人对于变成中reduce、reducer命名都存在困惑&#xff0c;为了更好理解useRedecuer&#xff0c;我们不妨先来说说reduce。 如何理解reduce和reducer reduce&#xff1a;函数式编程当中的一个术语&#xff0c;reduce操作被称为Fold折叠 // 通过reduce&#xff0c;数组…

公司内部有奖知识答题活动怎么做

公司年会趣味问答、员工业务知识考核、消防安全、党史等知识测试......公司内部的答题活动已经成了众多管理者、HR日常工作中一部分。如何让组织者更轻松、更公平公正地举办答题活动&#xff1f;如何让员工更积极参与呢&#xff1f;试试答题小博士的有奖答题。有奖答题活动形式…