01 Python变量和数据类型

Python变量和数据类型

1 数据类型

计算机,顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然也可以处理各种数值。

但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据需要定义不同的数据类型。

在Python中,能够直接处理的数据类型有一下几种:

(1)整数   十六进制用0x前綴0-9,a-f表示,如0xff00

(2)浮点数  1.24 1.23e9  1.2e-5

(3)字符串  'abc'  "abc"

(4)布尔值  True False    可以用and、or、not进行运算  短路运算

(5)空值  None

 

0、空字符串、None为false

其他数值、非空字符串为true

2 print语句

print可以向屏幕上输出指定的文字。

>>> print 'hello, world'

用逗号隔开时,每個逗号输出一个空格

>>> print 'The quick brown fox', 'jumps over', 'the lazy dog'

The quick brown fox jumps over the lazy dog

>>> print '100 + 200 = ', 100 + 200

100 + 200 = 300

 

3 注释

一行之中,#之后的都为注释

 

4 变量

变量用一个变量名表示,变量名必须是大小写英文、数字和下划线的组合,且不能用数字开头。

等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。

这种变量本身类型不固定的语言称为动态语言,与之对应的是静态语言。

静态语言在定义变量时必须制定变量类型,如果赋值的时候类型不匹配,就会报错,如java。

所以动态语言更加灵活。

 

变量在计算机内存中的表示:

a='ABC'  计算机干了两件事:

(1)在內存中创建了一个'ABC'的字符串;

(2)在內存中创建了一个名为a的变量,并把它指向'ABC'

 

a='ABC'

b=a

a='XYZ'

 

5 定义字符串

如果字符串本身包含引号,可以用另一种引号括起來:

"I'm OK"

'Learn "Python" in mooc'

如果既含单引号,又含双引号,可用\进行转义:

'Bob said\"I\'m OK\".'

常用转义字符:

\n 换行

\t  制表符

\\  表示\本身

 

6 raw字符串与多行字符串

在字符串前面加個前綴r,表示这是一个raw字符串,里面字符无需转义。

r'\(~~)/\(~~)/'

但是其不能表示多行字符串,也不能表示包含单引号和双引号的字符串。

 

如果要表示多行字符串,用三引号:

'''Line1

Line2

Line3'''

等同于'Line1\nLine2\nLine3'

 

还可以在多行字符串前添加r,变成多行raw字符串。

r'''Python is created by "Guido".

It is free and easy to learn.'''

 

7 Unicode字符串

字符串还有一个编码问题。

因为计算机智能处理数字,如果要处理文本,就必须把文本转换为数字才能处理。

最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大整数就是255(二进制11111111=十进制255),0-255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。

如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII码冲突,所以,中国制定了GB2312编码,把中文编进去。类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,以解决乱码问题。

Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以了。

因为Python诞生的时间比Unicode标准发布的时间早,所以最早的Python只支持ASCII码,普通的字符串'ABC'在Python内部都是ASCII编码的。

Python在后來添加了对Unicode的支持,用u'...'表示,如

print u'中文'

 

如果中文字符串遇到UnicodeDecodeError,這是因为.py文件保存的格式有問題。

需要在第一行加注释:

# -*- coding: utf-8 -*-

目的是告诉Python解释器,用UTF-8编码读取源代码,然后另存为UTF-8格式。

 

 

 

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

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

相关文章

初识Python-1

1,计算机基础。 2,python历史。 宏观上:python2 与 python3 区别: python2 源码不标准,混乱,重复代码太多, python3 统一 标准,去除重复代码。 3,python的环境。 编译型&…

02 List、Tuple、Dict、Set

List 线性表 创建List: >>> classmates [Michael, Bob, Tracy] >>> L [Michael, 100, True] #可以在list中包含各种类型的数据 >>> empty_list [] #空List 按索引访问List: >>> print L[0] #索引从0开始…

Jenkins的一些代码

pipeline {agent anyenvironment { def ITEMNAME "erp"def DESTPATH "/home/ops/testpipe"def codePATH"/var/lib/jenkins/workspace/test_pipeline"}stages { stage(代码拉取){steps {echo "checkout from ${ITEMNAME}"git url:…

利用layui前端框架实现对不同文件夹的多文件上传

利用layui前端框架实现对不同文件夹的多文件上传 问题场景: 普通的input标签实现多文件上传时,只能对同一个文件夹下的多个文件进行上传,如果要同时上传两个或多个文件夹下的文件,是无法实现的。这篇文章就是利用layui中的插件&am…

ps、grep和kill联合使用杀掉进程

ps、grep和kill联合使用杀掉进程例如要杀掉hello这个进程,使用下面这个命令就能直接实现。ps -ef |grep hello |awk {print $2}|xargs kill -9这里是输出ps -ef |grep hello 结果的第二列的内容然后通过xargs传递给kill -9,其实第二列内容就是hello的进程号&#xf…

03 控制語句

if语句 if age > 18 print your age is, age else print teenager Python代码的缩进规则:具有相同缩进的代码被视为代码块。 if age > 18 print adult elif age > 6 print teenager elif age > 3 print kid else print baby for循环 L [Adam, L…

yum 来安装 nodejs

要通过 yum 来安装 nodejs 和 npm 需要先给 yum 添加 epel 源,添加方法在 centos 添加epel和remi源 中##添加 epel 源 64位: rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm32位: rpm -ivh http://download.fedoraproj…

yzh的神仙题

U66905 zz题 考虑一个点权值被计算了多少次。。。不知 所以对未来承诺,方便直接算上总数! 然后其实是给边定向,即先删除fa和son的哪一个 f[x][j],会计算j次 无法转移 f[x][j][k],其中会从子树计算k次。 当边从儿子指向…

04 函數

內置函數 Python內置了很多有用的函數,可以直接調用。 要調用一個函數,需要知道函數的名稱和參數。 可以直接從Python的官方網站查看文檔:http://docs.python.org/2/library >>> abs(-20) >>> help(abs) >>>…

iview render的时候可以写控件的基本格式

render: (h, params) > {return h(div, [h(Button, {props: {type: id,size: small},style: {marginRight: 5px},on: {click: () > {this.pojectshow(this.datatable[params.index].id)}}}, 详情),h(Button, {props: {type: id,size: small},style: {marginRight: 5px},o…

ES6基本使用

var let 度可用于声明变量. 区别&#xff1a;1、let&#xff1a;只在let命令所在代码块内有效 2、let 不存在变量提升&#xff08;内部影响不到外部&#xff09; var b [];for(var j0;j<10;j){let dj;b[j]function(){console.log(d);};}b[3]() //3 3、let 不允许在相同作用…

Axios的Vue插件(添加全局请求/响应拦截器)

/*** file Axios的Vue插件&#xff08;添加全局请求/响应拦截器&#xff09;*/// https://github.com/mzabriskie/axios import axios from axios// 拦截request,设置全局请求为ajax请求 axios.interceptors.request.use((config) > {config.headers[X-Requested-With] XML…

05 切片、迭代、列表生成

切片 >>> L [Adam, Lisa, Bart, Paul] >>> L[0:3] #取前3个元素 >>> L[:3] >>> L[1:3] >>> L[:] >>> L[::2] #第三个参数表示每2个元素取一个元素&#xff0c;也就是隔一个取一个 [Adam,Bart] >>>…

一个例子彻底搞懂C++的虚函数和纯虚函数

学习C的多态性&#xff0c;你必然听过虚函数的概念&#xff0c;你必然知道有关她的种种语法&#xff0c;但你未必了解她为什么要那样做&#xff0c;未必了解她种种行为背后的所思所想。深知你不想在流于表面语法上的蜻蜓点水似是而非&#xff0c;今天我们就一起来揭开挡在你和虚…

利用Caffe实现mnist的数据训练

阿里云的参考文档&#xff1a;https://help.aliyun.com/document_detail/49571.html在文档里提供了caffe的一个案例&#xff0c;利用Caffe实现mnist的数据训练。准备的数据源可以在“深度学习案例代码及数据下载”页找到Caffe数据下载并解压。要训练自己的图片&#xff0c;还是…

06 函数式編程

1 函数式编程简介 函数&#xff1a;function 函数式&#xff1a;functional 一种编程范式 特点&#xff1a; 把计算视为函数而非指令 纯函数式编程&#xff1a;不需要变量&#xff0c;没有副作用&#xff0c;测试简单 支持高阶函数&#xff0c;代码简洁 Python支持的函数式…

Android SDK开发

目前我们的应用内使用了 ArcFace 的人脸检测功能&#xff0c;其他的我们并不了解&#xff0c;所以这里就和大家分享一下我们的集成过程和一些使用心得 集成 ArcFace FD 的集成过程非常简单 在 ArcFace FD 的文档上有说明支持的系统为 5.0 及以上系统&#xff0c;但其实在 4.4 系…

jQuery WeUI 上传

jQuery WeUI 是专为微信公众账号开发而设计的一个框架&#xff0c;jQuery WeUI的官网&#xff1a;http://jqweui.com/ 需求&#xff1a;需要在微信公众号网页添加上传图片功能 技术选型&#xff1a;实现上传图片功能可选百度的WebUploader、饿了么的Element和微信的jQuery WeUI…

07 模块

模块和包的概念 等同于java中的Package 模块名文件名&#xff08;无后缀&#xff09; 在文件系統中&#xff0c;包就是文件夾&#xff0c;模块就是xxx.py文件 每层包下面都有__init__.py文件 导入模块 >>> import math >>> math.pow(2, 0.5) >>…

1.rabbitmq 集群版安装及使用nginx进行四层负载均衡设置

1.安装erlang 需要注意erlang的版本是否满足rabbitmq的需求 这里用到的版本是&#xff1a;Erlang 19.0.4 RabbitMQ 3.6.15 wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpmrpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm yum -y inst…