热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Python修炼之路第二步:Python的基石

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python修炼之路第二步:Python的基石相关的知识,希望对你有一定的参考价值。Pyt

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python修炼之路第二步:Python的基石相关的知识,希望对你有一定的参考价值。


Python作为最棒的计算机程序设计语言,构成Python的庞大体系的零部件就起到了基石的作用。今天就介绍其中的几种:

1.变量

2.列表

3.元组

4.字典

5数据运算


1. 变量:




 

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。

那么我们的第一步就是声明一个变量:


技术分享技术分享

first_script = Hello World
print (first_script)
>>>Hello World


第一个脚本

如代码块中所示,我们需要的是将一个值赋予一个变量名,那么我们就有了一个变量。

变量名的选择有着一些特殊的规定:



  • 只能有字母、数字和下划线构成变量名[ps:Python3中使用了Unicode编码形式,所以中文也能构成变量名]

  • 不能以数字作为变量名的开头

以下关键字不能声明为变量名 [‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

而Python中还有着一些约定俗称的规则,比如为了方便其他的维护和优化,变量的命名一般都要尽量与变量内容相关,而且尽量都避开大写字母开头,因为一般都是只有类才会用大写字母作为名字的首字母。

Python的变量名还需要注意大小写,name和Name完全是两个变量名,只有完全一样的字符串才是一个变量名。


2. 列表:




 

Python中列表是十分重要的一个功能,列表的存在几乎是来者不拒,同一个列表中可以放下无数个元素和容纳不同的数据类型。

什么?你问我什么是数据类型?

那我们就先讲讲数据类型(这绝对不是我忘了把数据类型放在目录里直到刚刚提起才想起来)


2.1补丁  数据类型

Python中数据类型有以下几种:



  1. 整型int:就是整型变量表示的是整数类型的数据。

    number = 1
    number
    = int(number)
    type(number)
    >>><class int>

    可以看到我给变量number赋值是加了引号的字符串数据类型,但是通过int强转了number的值的数据类型为int整型并重新赋值给number,使用type检查number的数据类型输出结果就为int了。整型就先说到这儿。如果你想问我长整型去哪儿了,那我也只能告诉你Python3中长整型已经被整合进整型当中了,肯定不是因为我也不熟这个。



  2. 字符串str:字符串或串(String)是由数字、字母、下划线组成的一串字符。它是编程语言中表示文本的数据类型。

    i = hope
    type(i)
    >>><class str>

    字符串一般表现形式都是加上双引号或者单引号的。



  3. 浮点数float:浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。一般大部分情况下用于小数的表现,但科学计数法e记法也表现为浮点数,而e记法也可以是整数的一种表现形式。

    i = float(5200000)
    print(i)
    >>>5.2e+6



  4. 布尔值bool:布尔值是“真” True 或“假” False 中的一个。动作脚本也会在适当时将值 True 和 False 转换为 1 和 0。布尔值经常与动作脚本语句中通过比较控制脚本流的逻辑运算符一起使用。

    5 > 0
    >>>True
    5 < 0
    >>>False



那么我们接着来说说列表:列表像是一个巨大的盒子,实现了元素有序的集合,将所有的元素按照加入的顺序收入其中。每一个列表中的元素都有一个下标作为其在列表中的位置和序号。而列表则如下表现:


i = list(range(5)) #生成一个从0到5范围的列表
print(i)
>>>[0,1,2,3,4]

而列表的基本操作有以下几种:



  • 添加:

    i = [Little Red Riding Hood,grandma]
    i.append(
    wolf) #one given
    print(i)
    >>>[Little Red Riding Hood,grandma,wolf]
    i.insert(
    1,mother) #two given
    print(i)
    >>>[Little Red Riding Hood,mother,grandma,wolf]
    i.extend([
    hunter,gun])
    >>>[Little Red Riding
    Hood,mother,grandma,wolf,hunter,gun]

    insert extend append



  • 删除:

    i.pop(4) #默认返回最后一个值,输入下标则返回下标对应的元素
    >>>‘hunter’
    i.remove(
    gun)
    print(i)
    >>>[Little Red Ridding Hood,mother,grandma,wolf]
    del i[1]
    print(i)
    >>>[Little Red Ridding Hood,grandma,wolf]

    del pop remove



  • 更改:

    i[2] = dead wolf
    print(i)
    >>>[Little Red Ridding Hood,grandma,dead wolf]



  • 查找:

    i[0]
    >>>Little Red Ridding Hood

     




3.元组:




 

元组和列表有些相似,但不同于列表,元组也是字符串和数字下划线等组成的一个有序的集合。但区别在于元组无法增删改,我们对元组的更改只有将这个元组的变量名重新赋值。因为元组的操作比较有限:


i = (Little Red Ridding Hood,mother,grandma,wolf)
i.index(
mother) #获取元组内元素‘mother‘的下标
>>>1
i.count(
mother) #获取元组内有几个元素‘mother‘
>>>1
len(i)
#元组内有一共有几个元素
>>>4

元组和列表的显示区别在于元组使用小括号括起来的,而列表是中括号。


4.字典:




 

 字典是无序的集合,字典里的元素由键值对组成,你能够通过访问键来获取对应的值,而字典因为是无序排列所以没有下标。

 字典的增删改查:

增加:


技术分享技术分享

1 information = {name:jack,age:22}
2 information[sex]=man
3 print(information)
4 >>>{name:jack,age:22,sex:man}
5
6 #setdefault方法
7 information.setdeault(birthday,1871)
8 #如果字典中没有要添加的这对键值对就会添加进字典并返回一个值
9 >>>1871
10 print(information)
11 >>>{name: jack, age: 22, sex: man, birthday: 1871}
12 information.setdefault(birthday,1555)
13 >>>1871
14 #如果已有这对键值对,则会返回这个键对应的值并不会更改其中的值
15
16 #update
17 information.update({birthday:2999,friend:jesus})
18 #将另一个字典合并进这个字典,交集的键值会被合并进来的字典的键值覆盖。
19 print(information)
20 >>>{name: jack, age: 22, sex: man, birthday: 2999,friend:jesus}


字典的添加操作

删除:


技术分享技术分享

#pop方法
information.pop(friend)
>>>jesus
print(information)
>>>{name: jack, age: 22, sex: man, birthday: 2999}
#del方法
del information[birthday]
print(information)
>>>{name: jack, age: 22, sex: man}19


字典的删除操作

更改:


技术分享技术分享

information[name] = jesus
print(information)
>>>{name: jesus, age: 22, sex: man}


字典的更改方法

查找:


技术分享技术分享

information[name]
>>>jesus


字典的查找方法

 


推荐阅读
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
author-avatar
syingjin
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有