Python变量及基本数据类型

变量以及类型

<1>变量的定义

在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?

大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可

如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可

在Python中,存储一个数据,需要一个叫做变量的东西,如下示例:



    num1 = 100 #num1就是一个变量,就好一个模具

    num2 = 87  #num2也是一个变量

    result = num1 + num2 #把num1和num2这两个"模具"中的数据进行累加,然后放到 result变量中
  • 说明:
    • 所谓变量,可以理解为模具,如果需要存储多个数据,最简单的方式是有多个变量,当然了也可以使用一个
    • 程序就是用来处理数据的,而变量就是用来存储数据的
  • 变量定义的规则:

    • 变量名只能是 字母、数字或下划线的任意组合
    • 变量名的第一个字符不能是数字
    • 以下关键字不能声明为变量名
      ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

想一想:我们应该让变量占用多大的空间,保存什么样的数据?


<2>变量的类型

Python采用动态类型系统。在编译的时候,Python不会检查对象是否拥有被调用的方法或者属性,而是直至运行时,才做出检查。所以操作对象时可能会抛出异常。不过,虽然Python采用动态类型系统,它同时也是强类型的。Python禁止没有明确定义的操作,比如数字加字符串。
与其它面向对象语言一样,Python允许程序员定义类型。构造一个对象只需要像函数一样调用类型即可,比如,对于前面定义的Fish类型,使用Fish()。类型本身也是特殊类型type的对象(type类型本身也是type对象),这种特殊的设计允许对类型进行反射编程。
Python内置丰富的数据类型。与Java、C++相比,这些数据类型有效地减少代码的长度。下面这个列表简要地描述了Python内置数据类型(适用于Python 3.x):
类型
描述
例子
备注
str
一个由字符组成的不可更改的有序串行。
'Wikipedia'
"Wikipedia"
"""Spanning
multiple
lines"""
在Python 3.x里,字符串由Unicode字符组成
bytes
一个由字节组成的不可更改的有序串行。
b'Some ASCII'
b"Some ASCII"
 
list
可以包含多种类型的可改变的有序串行
[4.0, 'string', True]
 
tuple
可以包含多种类型的不可改变的有序串行
(4.0, 'string', True)
 
set, frozenset
与数学中集合的概念类似。无序的、每个元素唯一。
{4.0, 'string', True}
frozenset([4.0, 'string', True])
 
dict
一个可改变的由键值对组成的无序串行。
{'key1': 1.0, 3: False}
 
int
精度不限的整数
42
 
float
浮点数。精度与系统相关。
3.1415927
 
complex
复数
3+2.7j
 
bool
逻辑值。只有两个值:真、假
True
False
 
除了各种数据类型,Python语言还用类型来表示函数、模块、类型本身、对象的方法、编译后的Python代码、运行时信息等等。因此,Python具备很强的动态性。

<3>基本表达式

条件语句

如果我们希望有效的响应用户的输入,代码就需要具有判断能力。能够让程序进行判断的结构成为条件,条件判断语句返回的是布尔值真或假,真就执行一条线路,假就执行另外一条线路

#!/usr/bin/env python
# -*- coding: encoding -*-
 
name = input('请输入用户名:')
 
if name == "alex":
    print "超级管理员"
elif name == "eric":
    print "普通管理员"
elif name == "tony":
    print "业务主管"
else:
    print "普通用户"

While循环

  While循环,是一个循环加判断的组合,满足判断条件返回 (True)开始循环代码块,不满足判断条件返回 ()不循环

格式:

  While 条件:

     代码块

  注意:在While循环里如果不加终止循环的判断或者关键字,会一直循环(死循环)

  如: 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
 
my_age = 28
 
count = 0
while count < 3:
    user_input = int(input("input your guess num:"))
 
    if user_input == my_age:
        print("Congratulations, you got it !")
        break
    elif user_input < my_age:
        print("Oops,think bigger!")
    else:
        print("think smaller!")
    count += 1 #每次loop 计数器+1
else:
    print("猜这么多次都不对,你个笨蛋.")

for循环

  主要用于循环一个字符串列表等

  不需要判断,定义一个循环变量即可

  格式:for (循环定义变量) in (被循环的变量)    循环完后自动退出整个循环

  打印循环定义变量即可

  关键字(continue)   跳出本次循环  继续下次环

  关键字(break)   跳出整个循环 不在循环



 




<4>基本数据类型类型

1、数字

2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子。

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
 
2、布尔值
  真或假
  1 或 0
3、字符串
"hello world"
万恶的字符串拼接:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
字符串格式化
1
2
3
4
name  =  "alex"
print  "i am %s "  %  name
 
#输出: i am alex

PS: 字符串是 %s;整数 %d;浮点数%f

字符串常用功能:
  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片
4、列表
创建列表:
1
2
3
name_list  =  [ 'alex' 'seven' 'eric' ]
name_list =  list ([ 'alex' 'seven' 'eric' ])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
5、元祖
创建元祖:
1
2
3
ages  =  ( 11 22 33 44 55 )
ages  =  tuple (( 11 22 33 44 55 ))
基本操作:
  • 索引
  • 切片
  • 循环
  • 长度
  • 包含
6、字典(无序)
创建字典:
1
2
3
person  =  { "name" "mr.wu" 'age' 18 }
person  =  dict ({ "name" "mr.wu" 'age' 18 })

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度
PS:循环,range,continue 和 break




1、数字

2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子。

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
 
2、布尔值
  真或假
  1 或 0
3、字符串
"hello world"
万恶的字符串拼接:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
字符串格式化
1
2
3
4
name  =  "alex"
print  "i am %s "  %  name
 
#输出: i am alex

PS: 字符串是 %s;整数 %d;浮点数%f

字符串常用功能:
  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片
4、列表
创建列表:
1
2
3
name_list  =  [ 'alex' 'seven' 'eric' ]
name_list =  list ([ 'alex' 'seven' 'eric' ])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
5、元祖
创建元祖:
1
2
3
ages  =  ( 11 22 33 44 55 )
ages  =  tuple (( 11 22 33 44 55 ))
基本操作:
  • 索引
  • 切片
  • 循环
  • 长度
  • 包含
6、字典(无序)
创建字典:
1
2
3
person  =  { "name" "mr.wu" 'age' 18 }
person  =  dict ({ "name" "mr.wu" 'age' 18 })

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度
PS:循环,range,continue 和 break





猜你喜欢

转载自blog.csdn.net/lv8549510/article/details/78999899
今日推荐