变量与数据类型

变量

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

变量命名规则

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

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

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

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

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

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

xinsz08@xinsz08:~$ python3

Python 3.5.2 (default, Nov 17 2016, 17:05:23)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright", "credits" or  "license" for more information.

>>> import keyword

>>> keyword.kwlist

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class',  'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from',  'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or',  'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

我们看看使用关键字来定义会出现什么情况

>>> None=1

  File "<stdin>",  line 1

SyntaxError: can't assign to keyword

 

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

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

基本数据类型

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

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

  2. 布尔数:True 或 False

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

  4. 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)

<class 'int'> 10

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

<class 'float'> 10.6

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

<class 'bool'> True

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

<class 'NoneType'> 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)

 

补充:

  1. 使用方法修改字符串的大小写

xinsz08@xinsz08:~$vim name.py

xinsz08@xinsz08:~$cat name.py

name="xinsz08love python"

print(name.title())

 

xinsz08@xinsz08:~$python3 name.py

Xinsz08Love Python

可以看到每个单词的第一个字母都变成了大写

 

如果是全部变为大写或者全部变为小写呢

name.upper()  全部变为大写

name.lower()全部变为小写

 

xinsz08@xinsz08:~$vim name.py

xinsz08@xinsz08:~$cat name.py

name="xinsz08love python"

print(name.title())

print(name.upper())

print(name.lower())

 

xinsz08@xinsz08:~$python3 name.py

Xinsz08Love Python  

XINSZ08LOVE PYTHON  全部大写

xinsz08love python      全部小写

 

 

  1. python之禅

编程语言Perl曾在互联网领域长期占据着统治地位,早期的大多数交互式网站使用的都是Perl脚本。彼时,“解决问题的办法有多个”被Perl社区奉为座右铭。

 

这种理念一度深受大家 的喜爱,因为这种语言固有的灵活性使得大多数问题都有很多不同的解决之道。在开发项目期间,这种灵活性是可以接受的,但大家最终认识到,过于强调灵活性会导致大型项目难以维护:要通过研究代码搞清楚当时解决复杂问题的人是怎么想的,既困难又麻烦,还会耗费大量的时间。

 

经验丰富的程序员倡导尽可能避繁就简。Python社区的理念都包含在TimPeters撰写的“Python之禅”中。要获悉这些有关编写优秀Python代码的指导原则,只需在解释器中执行命 令import this 。

 

>>>import this

The Zenof Python, by Tim Peters

 

Beautifulis better than ugly.

Explicitis better than implicit.

Simple isbetter than complex.

Complexis better than complicated.

Flat isbetter than nested.

Sparse isbetter than dense.

Readabilitycounts.

Specialcases aren't special enough to break the rules.

Althoughpracticality beats purity.

Errorsshould never pass silently.

Unlessexplicitly silenced.

In theface of ambiguity, refuse the temptation to guess.

Thereshould be one-- and preferably only one --obvious way to do it.

Althoughthat way may not be obvious at first unless you're Dutch.

Now isbetter than never.

Althoughnever is often better than *right* now.

If theimplementation is hard to explain, it's a bad idea.

If theimplementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more ofthose!

 

总结:

  1. 如何使用变量

  2. 如何创建变量

  3. 字符串是什么

  4. 使用全大写,小写,形式显示字符串

 

©著作权归作者所有:来自51CTO博客作者互联网老辛的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Linux系统下对文件和字符串 进行加密的方法总结
  2. Python3入门视频教程百度网盘
  3. 聊一聊toString和valueOf
  4. 不只是块级作用域,你不知道的let和const
  5. js三 作用域与闭包,继承
  6. 【收藏】最全JavaScript中所有的内置对象属性和方法汇总整理
  7. 【shell】shell脚本实战-awk工作模式讲解
  8. 【shell】shell脚本实战-awk基本介绍
  9. 【DB笔试面试389】在Oracle中,什么是绑定变量窥探?

随机推荐

  1. jQuery权威指南(第2版) 学习一 jQuery操作
  2. Jquery EasyUI 开发实录
  3. jquery处理多维数组
  4. 在jquery下翻看图片,如何判断最后一张呢?
  5. 如何将JQuery变量值分配给Laravel Blade
  6. console.dir()等效在xCode中使用jQuery Mob
  7. 调用没有当前上下文的OpenGL ES API(每个
  8. 尝试用动态内容填充分享Twitter链接
  9. jQuery的$.getJSON方法在IE浏览器下失效
  10. 小白的jquery学习之路02选择器.2