python基础-02-基本数据类型

基本数据类型

python基础-基本数据类型1.Python简介

1.python是一门编程语言,是一门完全面向对象的编程语言
```
python数字都是一个对象
>>> type(1)
<class 'int'>
java中数字不是一个对象只是一个基本类型
```    
2.如果对语言进行分类,那么python是一门强类型,动态类型的语言
    弱类型:比如int可以变成float,python中数值类型不可变;

```
python数字都是一个对象,强类型
a=1
b="2"
a+b 这样是报错,这就是强类型

javascript数据类型不同也可以相加,是弱类型
var  a=3.14;
var  b="Bill Gates";
a+b ="3.14Bill Gates"

```    
    动态类型:编译时不知道变量类型,python中变量无类型

```
python不需要声明数据类型
a=1   整型 
a="2"  str类型
print(a)  a是str类型

java数据类型则不同
int a=1
a="2" 这样是报错的
```    

2.数值类型

数值类型就是我们平常用来做计算的数字类型,在python中有如下几种数值类型 
py文件输出需要借助(print方法),python自带IDE输入代码不需要print,会自动打印出来

#整型 
int
a=5
b=4
a=b=c=1 #多个赋值
a,b,c=1,2,3   #多个赋值
a,b=b,a  #a、b值交换
>>> type(1)
<class 'int'>

#浮点型 
float
a=1.1
>>> type(1.0)
<class 'float'>

#布尔型 
bool
a=True #bool 包含两个值,True对应(1)、False对应(0)

>>> a=1
>>> b=True
>>> a+b
2

#复数型 (在python中用小写 j ,表示虚部,用其他的字母不行)
complex
c=1+2j  #1是实数 ,2j是虚数
>>> type(1+2j)
<class 'complex'>

数值类型主要是用来是做运算的,所以还会有如下的运算符

#数值运行常用运算符
#+  加
>>> 1+2
3
#-   减法
>>> 2-11
-9
#*   乘法
>>> 3*5
15
#/   除法  #(python2不一样,整除,向下取整)
>>> 2/8
0.25
#//(整除,向下取整)
>>> a=2
>>> b=1.5
>>> a//b
1.0 
#%(取余) 
>>> 2%2
0
>>> 2%3
2
>>> 2%1.5
0.5
#** (幂)
>>> 3**3
27

#赋值运算符  
=  +=  -=  *=  /= 
>>> a=2
>>> b=3
>>> a+=5
>>> print a
7
 -=  *=    /=  对应减 、乘、除

#条件运算符号
==
>>> False  ==0
True

基本数值类型中前三种是常用的,复数在数学里面用得多,但是一般是用不上的。

3.序列类型

在python中三种序列类型,序列类型简单来说就是对象里面的元素是有顺序的。

#字符串 str有三种(’‘ 单引号,“”  双引号  ,''' '''或 “”“ ”“”  三引号,可以换行)

>>> "a"
'a'

>>> '''aaa
bbb
'''
'aaa\nbbb\n'

#列表  list

>>> li=[1,2,3,4]
>>> type(li)
<type 'list'>

#元组  tuple
定义有两种方式
li=(1,2,3,4)
li=1,2 
li=1,    单个元素
li=(1,)  单个元素

>>> type(li)
<type 'tuple'>
#取值
#正向 索引分两种:
# 0开始
>>> li=1,2,3
>>> li[0]
1
# -1开始,取得最后一个值
>>> li=1,2,3
>>> li[-1]
3
>>> li[-2]
2

#反向 索引(反向切片)
>>> li=1,2,3,4,5
>>> li[3:2]
()
>>> li[3:2:-1]  # -1是步长(多少步一跨,包含自己,默认步长是1)
(4,)
>>> li[0:4:]  #默认步长是1
(1, 2, 3, 4)
>>> li[::]  #取所有
(1, 2, 3, 4, 5)


#切片,左闭右开(包含左边,不包含右边)
>>> li=2,3,4
>>> li[-2:-1]
(3,)
>>> li=2,3,4
>>> li[1:2]
(3,)

# 可变序列:list
# 不可变序列:tuple,str
>>> li=[1,2]
>>> id(li)  #id查看内存地址

# list:list内存地址未改变,可变序列
>>> li=[1,2]
>>> li+=li
>>> id(li)
56098728 #内存地址
>>> li+=li
>>> id(li)
56098728 #内存地址

#  元组:tuple 内存地址改变了,不可变序列
>>> li=(1,2)
>>> li+=li
>>> id(li)
56069504 #内存地址
>>> li+=li
>>> id(li)
55848048 #内存地址

#  字符串:str内存地址改变了,不可变序列
>>> a="abc"
>>> id(a)
9989504 #内存地址
>>> a+=a
>>> id(a)
56057216 #内存地址
#查看关键字,防止命名重复
第一种:
>>> import keyword
>>> keyword.kwlist
第二种:
>>>help('keywords')

序列类型做为基本的数据类型是大家必须要掌握的,在python中大家会经常见到这三种数据类型。首先要掌握定义和序列的通用操作。

1.创建序列

字符串用引号创建
列表用中括号 [] 创建
元组用小括号() 或者 直接用逗号隔开各元素

2.序列的通用操作

索引取值切片 索引:正向索引和反向索引  
类型的转换: str() list() tuple ()
相加 + +=
>>> li=1,2,3,4
>>> li1=5,6
>>> li+=li1
>>> print (li)
(1, 2, 3, 4, 5, 6)

重复 * *=
>>> li=1,2
>>> print(li*2)
(1, 2, 1, 2)

>>> li=1,2
>>> li*=2
>>> print(li)
(1, 2, 1, 2)

# 检查成员 in  not in 
>>> li=1,2,3,4,5
>>> 1 in li
True
>>> 1 not in li
False
  • 发表于 2017-11-08 16:10
  • 阅读 ( 1667 )
  • 分类:python

1 条评论

请先 登录 后评论
不写代码的码农
doublechina

IT

31 篇文章

作家榜 »

  1. 威猛的小站长 124 文章
  2. Jonny 65 文章
  3. 江南烟雨 36 文章
  4. - Nightmare 33 文章
  5. doublechina 31 文章
  6. HJ社区-肖峰 29 文章
  7. 伪摄影 22 文章
  8. Alan 14 文章