文章目录

  • Python(四)——变量的定义和简单使用
  • 1、变量的定义
  • 2、变量的简单使用
  • 3、类型转换

Python(四)——变量的定义和简单使用

1、变量的定义

定义变量语法格式:

variable_name = variable_name

variable_name表示变量名;

variable_name表示值,也就是要存储的数据。

使用实例

a = 85  #将整数赋值给变量a
abc = "http://c.abc.net/"  #将字符串赋值给变量abc
abc = "http://c.efg.net/"  #修改变量的值
#将表达式的运行结果赋值给变量
sum = 100 + 200

2、变量的简单使用

Python是弱类型语言,弱类型语言有下面两个特点:

  • 变量不用先声明就可以直接赋值,对一个没声明的变量赋值就相当于定义了一个新变量。
  • 变量的数据类型可以改变,如,一个变量可以先被赋值为字符串,后再被赋值为整数。

在Python中,为了应对不同的业务需求,把数据分为下面几种类型:

  • Number(数字)
• int:有符号整型
• long:长整型,也可以代表八进制和十六进制(Python3中没有)
• float:浮点型
• complex:复数
• String(字符串)
• boolean 布尔类型 
  
• True 真
• False 假
• List(列表)
• Tuple(元组)
• Set(集合)
• Dictionary(字典)

长整型 int

不管对于多大或者多小的整数,Python 3.x 只用 int 一种类型存储,表示为长整型,并且整数的取值范围是无限的,

如下实例:

#将 7 赋值给变量 n
n = 7
print(n)
#查看数据类型
print( type(n) )
#给x赋值一个很大的整数
x = 1111111111111111111111
print(x)
#判断x是否为int类型
print(isinstance(x,int))
#给y赋值一个很小的整数
y = -1111111111111111111111
print(y)
print( type(y) )

执行结果:x和y是极大的数字和极小的数字,Python 都能正确输出且不会发生溢出

7
<class 'int'>
1111111111111111111111
True
<class 'int'>
-1111111111111111111111
<class 'int'>

浮点型 flout

Python 只有一种小数类型,就是 float,像int一样Python能存储极小和极大的浮点数。

如下实例:

f1 = 15.9
print("f1Value: ", f1)
print("f1Type: ", type(f1))

f2 = 0.319452585712345303
print("f2Value: ", f2)
print("f2Type: ", type(f2))

f3 = 0.0000000000000000000000000123
print("f3Value: ", f3)
print("f3Type: ", type(f3))

f4 = 31945258573194525857.12345
print("f4Value: ", f4)
print("f4Type: ", type(f4))
f6 = 15.9 * 0.1
print("f6Value: ", f6)
print("f6Type: ", type(f6))

执行结果:

f1Value:  15.9
f1Type:  <class 'float'>
f2Value:  0.3194525857123453
f2Type:  <class 'float'>
f3Value:  1.23e-26
f3Type:  <class 'float'>
f4Value:  3.1945258573194527e+19
f4Type:  <class 'float'>
f6Value:  1.59
f6Type:  <class 'float'>
  • 由上面结果可以看出,print 在输出浮点数时,会根据浮点数的长度和大小适当的进行舍去,或采用科学计数法输出。

布尔型 boolean

布尔类型代表某个事情的真或假,True表示真,False表示假,True 和 False 是 Python 中的关键字,输入时要注意首字母大写:

sex = True
gender = False
print("sex: ", sex)
print("gender: ", gender)

执行结果:

sex:  True
gender:  False

布尔类型的True和False可以当做整数, True 相当于整数值 1,False 相当于整数值 0:

print(True+10)
print(False+10)

执行结果:

11
10

字符串 String

Python中的字符串必须用单引号 或双引号 " 括起来,

具体格式:

"字符串内容"
'字符串内容'

简单使用:

str1 = '字符串1'
str2 = "字符串2"
str3 = 'I\'m a single!'
str4 = r'Ru\noob'
print(str1)
print(str2)
print(str3)
print(str4)

执行结果:

字符串1
字符串2
I'm a single!
Ru\noob
  • 字符串的内容可以包含字母、标点、特殊符号、中文等全世界的所有文字,
  • 可以使用反斜杠 \ 转义特殊字符,如果不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串

字符串换行:

想换行书写一个较长的字符串,需要在每行的行尾添加反斜杠\

str5 = 'Reduce the indexing time and CPU load  \
      with pre-built Python packages shared indexes \
      Download pre-built shared indexes.'

三个双引号"""或者三个单引号'''也可以换行书写字符串:

str6 = '''Reduce the indexing time and CPU load  
      with pre-built Python packages shared indexes 
      Download pre-built shared indexes.'''

列表 List

列表会将所有元素都放在一对中括号[ ]里面,相邻元素之间用逗号,分隔;

列表中元素个数没有限制,只要是 Python 支持的数据类型就可以,但同一列表中只放入同一类型的数据,这样可以提高程序的可读性;

创建列表实例:

num_list = [1, 2, 3, 4, 5, 6]
language_list = ['java', "c++", "Python"]
print(num_list)
print(language_list)

执行结果:

[1, 2, 3, 4, 5, 6]
['java', 'c++', 'Python']

元组 tuple

元组和列表类似,也是由一系列按特定顺序排序的元素组成。

元组和列表的不同之处在于:

  • 列表的元素是可以更改的,包括修改元素值,删除和插入元素,所以列表是可变序列;
  • 而元组一旦被创建,它的元素就不可更改了,所以元组是不可变序列,因此元组用于保存无需修改的内容。

创建元组:

age_tuple = [16, 17, 18, 19, 20]
print(age_tuple)

执行结果:

[16, 17, 18, 19, 20]

字典 dict

字典是一种无序可变的序列,在这种序列中,每个元素都以key-value的方式被保存,就像 json字符串那样。

创建字典语法:字典中的元素都包含两部分,分别是键(key)和值(value),键和值之间使用冒号:分隔,相邻元素之间使用逗号,分隔,并且同一字典中的key必须唯一,不能重复。

dict_name = {'key':'value1', 'key2':'value2', ...}

创建字典实例:

user = {'name':'皓明', 'age':18, 'sex':'男'}
print(user)
#type() 函数查看变量类型
print(type(user))

执行结果:

{'name': '皓明', 'age': 18, 'sex': '男'}
<class 'dict'>

3、类型转换

函 数

作 用

int(x)

将 x 转换成整数

float(x)

将 x 转换成浮点数

str(x)

将 x 转换为字符串

bool()

将 x 转换成布尔值

转换成整数类型

print('=====================字符串转整数=============================')
a = '345'
print(type(a))
print(type(int(a)))
print('=====================浮点数转整数=============================')
b = 3.45
print(type(b))
print(int(b))
print(type(int(b)))
print('=====================布尔值转整数=============================')
c = True
print(type(c))
print(int(c))
print(type(int(c)))
d = False
print(type(d))
print(int(d))
print(type(int(d)))

执行结果:

  • 如果将浮点数转成整数,那么返回的值是小数点前面的数
  • 如果字符串中包含小数点或字母等非法字符(如‘1.23’或‘123ab’),在转换成整数时会报错
=====================字符串转整数=============================
<class 'str'>
<class 'int'>
=====================浮点数转整数=============================
<class 'float'>
3
<class 'int'>
=====================布尔值转整数=============================
<class 'bool'>
1
<class 'int'>
<class 'bool'>
0
<class 'int'>

转换成字符串

print('=====================整数转字符串=============================')
e = 123
print(type(e))
print(str(e))
print(type(str(e)))
print('=====================浮点数转字符串=============================')
f = 1.23
print(type(f))
print(str(f))
print(type(str(f)))
print('=====================布尔值转字符串=============================')
print(str(c))
print(str(d))

执行结果:

=====================整数转字符串=============================
<class 'int'>
123
<class 'str'>
=====================浮点数转字符串=============================
<class 'float'>
1.23
<class 'str'>
=====================布尔值转字符串=============================
True
False

转换成浮点数

print('=====================字符串转浮点数=============================')
g = '3.45'
print(type(g))
print(float(g))
print(type(float(g)))
print('=====================整数转浮点数=============================')
h = 345
print(type(h))
print(float(h))
print(type(float(h)))

执行结果:

=====================字符串转浮点数=============================
<class 'str'>
3.45
<class 'float'>
=====================整数转浮点数=============================
<class 'int'>
345.0
<class 'float'>

转换成布尔值

print('=====================整数转布尔值=============================')
i = 2
print(type(i))
print(bool(i))
print(type(bool(i)))
j = 0
print(type(j))
print(bool(j))
print(type(bool(j)))
print('=====================字符串转布尔值=============================')
k = 'abc'
print(type(k))
print(bool(k))
print(type(bool(k)))
l = ''
print(type(l))
print(bool(l))
print(type(bool(l)))

执行结果:

  • 非0整数转为布尔值返回True,整数0转为布尔值返回False
  • 非0浮点数转为布尔值返回True,浮点数0.0转为布尔值返回False
  • 只要字符串、列表、元组、字典中有内容,那么在转为布尔值的时候就返回True
=====================整数转布尔值=============================
<class 'int'>
True
<class 'bool'>
<class 'int'>
False
<class 'bool'>
=====================字符串转布尔值=============================
<class 'str'>
True
<class 'bool'>
<class 'str'>
False
<class 'bool'>