python中的变量

变量与数据类型

变量

编程语言中为了能够更好的处理数据,都需要使用一些变量。Python 语言的变量可以是各种不同的数据类型,使用变量的时候不需要声明直接使用就可以。

变量命名规则

Python 3 中的变量命名有一定要求:

变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。

2. 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greetingmessage会引发错误。

3. 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,

关键字指的是为 Python 语言预留的单词,例如 import。

我们可以在交互式环境下使用 keyword 模块查看关键字:

另外需要注意的是: 慎用小写字母I和大写字母O,因为可能被人看成1和0 ,不过ubuntu还是蛮好区分的

一般在公司我们要求变量名要简短而且具有描述性,比如name比n好,name_length 要比length_of_persons_name好

基本数据类型

Python 3中,包括以下几种基本数据类型:

整数:例如 100,-200,0 等

布尔数:True 或 False

浮点数:小数,例如 1.5,2.5

None:空值,注意与0是不同的,可以理解为未定义的值。

除了这四种之外,还有一些其他不常用的类型,例如复数,但因为用的比较少,这里不做过多介绍。

使用变量及打印

在XFce 终端中输入 python3,进入交互环境,尝试输入如下的代码,并理解输出的含义,注意执行后不要退出,需要继续下一节的实验内容:

>>> a = 10

>>> b = 10.6

>>> c = True

>>> d = None

>>> print(a,b,c,d)

10 10.6 True None

>>> print(type(a),a)

10

>>> print(type(b),b)

10.6

>>> print(type(c),c)

True

>>> print(type(d),d)

None

在上述的代码中,type 是 Python 3 内置的一个函数,用来显示变量的数据类型

运算

继续在上一节中的 python 3 的交互环境中执行下面的操作,理解 Python 3 中的数学运算:

e = a + b

print(e)

f = b/a

print(f)

g = b - a

print(g)

h = b * a

print(h)

可以看到整数和浮点数的混合计算中,整数会被转换为浮点数。

除了数学运算之外,还有 and 和 or 的逻辑运算:

True and False

True or False

c and False

c or False

and表示与运算,只有两个运算值都是 True 才返回 True,而 or 表示或运算,有一个为 True 则返回 True。

字符串

Python 3中的字符串可以使用双引号或单引号标示,如果字符串中出现引号,则可以使用 \来去除引号标示字符串的特殊作用。

几种字符串的表示方法:

>>> str1 ="hello"

>>> str2 = 'xinsz08'

>>> str3 = 'hello.\'xinsz08\''

>>> str4 = "hello,'xinsz08'"

>>> str5 = 'hello,"xinszou"'

注意 str4 和 str5 都没有使用 \,但仍然可以在字符串中使用引号,相信你已经发现了原因。

如果需要输入多行字符串,又该如何处理呢?可以尝试使用 """ 三个双引号:

str6 = """ hello,

xinsz08 """

支持使用 + 连接字符串:

str1 + ' ' + str2

字符串可以使用数字进行索引,数字0为第一个字符,依次类推。数字 -1 为最后一个字符,使用冒号进行切片:

str1

str1[0]

str1[1]

str1[-1]

str1[-2]

str1[:2]

str1[3:]

切片的位置很容易让人迷惑,所以需要多尝试一些切片的方式来理解。

Python 3中的内置函数 len() 可以获得字符串包括的字符数量:

len(str2)

本文来自企鹅号 - 贵州大数据架构师媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

java.base.jmod

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jmods$ jmod list java....

1172
来自专栏码匠的流水账

spring security reactive获取security context

本文主要研究下reactive模式下的spring security context的获取。

2122
来自专栏Golang语言社区

Knapsack problem algorithms for my real-life carry-on knapsack

I'm a nomad and live out of one carry-on bag. This means that the total weight o...

1192
来自专栏专知

2018年SCI期刊最新影响因子排行,最高244,人工智能TPAMI9.455

2018年6月26日,最新的SCI影响因子正式发布,涵盖1万2千篇期刊。CA-Cancer J Clin 依然拔得头筹,其影响因子今年再创新高,达244.585...

1472
来自专栏码匠的流水账

聊聊HystrixThreadPool

hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java

921
来自专栏搞前端的李蚊子

Html5模拟通讯录人员排序(sen.js)

// JavaScript Document  var PY_Json_Str = ""; var PY_Str_1 = ""; var PY_Str_...

6356
来自专栏增长技术

App Guide相关

##TourGuide https://github.com/worker8/TourGuide

822
来自专栏跟着阿笨一起玩NET

c# 使用timer定时器操作,上次定时到了以后,下次还未执行完怎么处理

------解决方案-------------------------------------------------------- 开始的时候,禁用定时器,你...

3021
来自专栏码匠的流水账

聊聊spring cloud的HystrixAutoConfiguration

本文主要研究一下spring cloud的HystrixAutoConfiguration

1122
来自专栏Petrichor的专栏

Dataset 列表:机器学习研究

In computer vision, face images have been used extensively to develop face recog...

1801

扫码关注云+社区