Python数据类型与变量与各种运算

news/2024/7/7 21:16:14 标签: python, 人工智能

一 变量

变量
声明变量
#!/usr/bin/env python

age=18
gender1='male'
gender2='female'

变量作用:保存状态(程序的运行本质是一系列状态的变化,变量的目的就是用来保存状态,变量值的变化就构成了程序运行的不同结果。)
例如:CS枪战,一个人的生命可以表示为life=active表示存活,当满足某种条件后修改变量life=inactive表示死亡。
  • 变量命名规则遵循标识符命名规则,详见第二篇
  • name='lhf':'lhf'才是内存变量,name只是内存变量的引用
  • 与c的区别在于变量赋值操作无返回值
  • 链式赋值:y=x=a=1
  • 多元赋值:x,y=1,2 x,y=y,x
  • 增量赋值:x+=1

二 数据类型

这里的字符串、数字、列表等都是数据类型(用来描述某种状态或者特性)除此之外还有很多其他数据,处理不同的数据就需要定义不同的数据类型
标准类型 其他类型
数字类型type
字符串Null
列表文件
元组集合
字典函数/方法
 
 模块

 

 

 

 

 

2.1 数字

定义:a=1

特性:

1.只能存放一个值

2.一经定义,不可更改

3.直接访问

分类:整型,长整型,布尔,浮点,复数

 

2.2 布尔值

 True  False 

  1       0

 

非零即为真

2.3 字符串

定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
特性:
1.只能存放一个值
2.不可变
3.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序
补充:
  1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'l\thf'
  2.unicode字符串与r连用必需在r前面,如name=ur'l\thf'

2.4 列表

定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
特性:
1.可存放多个值
2.可修改指定索引位置对应的值,可变
3.
按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

2.5 元祖

定义:与列表类似,只不过[]改成()
特性:
1.可存放多个值
2.不可变
3.
按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序

2.6 字典

定义:{key1:value1,key2:value2},key-value结构,key必须可hash
特性:
1.可存放多个值
2.可修改指定key对应的值,可变
3.无

2.7 集合

定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可以作为字典的key
特性:
1.集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

 2.8 bytes 类型

定义:存8bit整数,数据基于网络传输或内存变量存储到硬盘时需要转成bytes类型,字符串前置b代表为bytes类型

python">>>> x
'hello sb'
>>> x.encode('gb2312')
b'hello sb'

2.9 数据类型转换内置函数汇总

 

三 运算符

3.1 算数运算

3.2 逻辑运算

and注解:

  1. 在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。
  2. 在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有值都为真,那么 and 返回最后一个值。
  3. 如果布尔上下文中的某个值为假,则 and 返回第一个假值

or注解:

  1. 使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。如果有一个值为真,or 立刻返回该值
  2. 如果所有的值都为假,or 返回最后一个假值
  3. 注意 or 在布尔上下文中会一直进行表达式演算直到找到第一个真值,然后就会忽略剩余的比较值

and-or结合使用:

  1. 结合了前面的两种语法,推理即可。
  2. 为加强程序可读性,最好与括号连用,例如:
    (1 and 'x') or 'y'

3.3 位运算

3.4 赋值运算

3.5 比较运算

 

 

3.6 成员运算

 

3.7 身份运算

 3.8 运算符优先级

四 标准数据类型的特性总结

按存值个数区分

标量/原子类型数字,字符串
容器类型列表,元组,字典

 

 

按可变不可变区分

可变列表,字典
不可变数字,字符串,元组

 

 

按访问顺序区分

直接访问数字
顺序访问(序列类型)字符串,列表,元组
key值访问(映射类型)字典

  

 

转载于:https://www.cnblogs.com/amiee-785563694/p/6759816.html


http://www.niftyadmin.cn/n/1205930.html

相关文章

UiPath foreach try catch

在日常自动化工作中,经常在读取部分excel的数据后数据处理会有异常,今天我们使用for each和Try Catch控件来实现从excel中读取数据并处理。 第一步:Activities中输入Read Column,将Read Column组件拖拽到设计器中。 设置读取路径…

如何重构多重嵌套“箭头型”代码

本文转载自 酷 壳 – CoolShell 陈皓。 所谓箭头型代码,基本上来说就是下面这个图片所示的情况。 那么,这样“箭头型”的代码有什么问题呢?看上去也挺好看的,有对称美。但是…… 关于箭头型代码的问题有如下几个: 1&…

UiPath foreach row

在日常自动化工作中,经常会读取excel中的数据,今天我们使用for each row控件来实现从excel中读取数据并处理。 第一步:Activities中输入Excel Application Scope,将Excel Application Scope组件拖拽到设计器中。 控件路径&#x…

Fedora25 下 OpenCV2.4.12 的安装

你必须非常努力,才能看起来毫不费力。---------------感谢原作者的分享。 opencv官网上面给出的 linux 下安装方式,基本上都是通过编译源码,即下载代码, cmake->make->make install。 但是对于Fedora来说,可以不…

UiPath Try catch用法

TryCatch介绍 位置:System.Activities.Statements.TryCatch 在特定序列或活动中捕获指定的异常类型,并显示错误通知或关闭该通知,然后继续执行工作流。 控件有三个主要部分: Try—保存可能引发异常的活动; Catche…

Vue 2.0 入门系列(6)组件实例之消息框

本节要实现一个消息框组件。效果&#xff1a; Bulma 消息框 我们使用的是 Bulma 的 消息框。Bulma 的消息框的基本界面如下: <article class"message"><div class"message-header"><p>标题</p><button class"delete"…

UiPath if条件

自动化流程中&#xff0c;我们经常会碰到根据不同的入参来实现不同的输入结果&#xff0c;比如常用的IF判断&#xff0c;当条件为TRUE时&#xff0c;设定性别为“男”&#xff0c;否则为“女”&#xff0c;那么如何来实现IF判断呢&#xff1f;下面我就分享一下通过UiPath实现IF…

HDU 1710 Binary Tree Traversals(二叉树)

题目地址&#xff1a;HDU 1710 已知二叉树先序和中序求后序。#include <stdio.h> #include <string.h> int a[1001], cnt; typedef struct node {int date ;node *lchild , *rchild ; }*tree; int getk(int ch,int ino[],int is,int n) {for(int i is ; i < is…