Python初始基本数据类型

简介:

数据结构分两部分:

1、单值

  数字

    整型:如果是32位机器,整数的位数为32位,取值范围为-2**32 ~2**31 -1,即:-2147483547~-2147483548

       如果是64位机器,整数的位数为64位,取值范围为-2**63~2**63-1

即:-9223372036854775808~9223372036854775807

    长整型:比较大的数字

    浮点型:3.14

    复数: z = a + bj

  布尔值:True(1), False(0)


示例①操作:

1
2
3
4
5
6
7
8
9
10
>>> i  =  123
>>>  print  type (i)
< type  'int' >
>>> j  =  True
>>>  print  type (j)
< type  'bool' >
>>> name  =  'alex'
>>>  print  type (name)
< type  'str' >
>>>

  字符串


  Python中的占位符%s和%d,分别表示给字符串和数字两种类型占位,后面来填充的值的类型必须是字符和数字


示例① 

1
2
3
4
5
6
7
>>> name  =  'i am %s' %  'tony'
>>>  print  name
i am tony
>>> name001  =  'i am %s,age is %d'  % ( 'alex' , 30 )
>>>  print  name001
i am alex,age  is  30
>>>

示例②

1
2
3
4
>>> name  =  'i am {0},age is {1}, come from {2}'
>>> name. format ( "alex" , 30 , "china" )             
'i am alex,age is 30, come from china'
>>>


小结:Python的占位符可以通过%和{}来进行定义,两种方法的本质都一样,只是表现形式不同而已。Python有三种引号表示字符串分别是单引号('')、双引号("")、三引号(""" """),其中单引号和双引号表示单行的字符串,三引号可以表示多行的字符串


字符的索引:

示例①

1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> name  =  "alex"
>>> name[ 0 ]        #---------->获取字符串第1个字符
'a'
>>> name[ 1 ]        #---------->获取字符串第2个字符
'l'
>>> name[ 2 ]        #---------->获取字符串第3个字符
'e'
>>> name[ 3 ]       #------------>获取字符串第4个字符
'x'
>>> name[ 4 ]
Traceback (most recent call last):
   File  "<stdin>" , line  1 in  <module>
IndexError: string index out of  range
>>>

字符切片:

示例②

1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>>  print  name[ 0 : 2 ]      #------->获取字符串第1个和第2个字符
al
>>>  print  name[ 0 : 3 ]      #-------->获取字符串第1到第3个字符
ale
>>>  print  name[ 1 : 3 ]       #---------->获取字符串第2个到第3个字符
le
>>> 
>>>  print  name[ 0 :]       #----------->获取字符第1个和后面所有,即全部字符
alex
>>>  print  name[ 1 :]       #------------>获取字符串第2个和后面所有,即从第2个开始到后面所有字符
lex
>>>  print  name[ - 1 ]        #------------>获取字符串倒数第一个字符,即从字符串最后一个字符
x
>>

注释:对于字符串切片,比如name【n:m】(n和m都是整数),代表的意思是左边包含右边不包含,即从第n个到第(m-1)个字符


求字符串中字符的个数(即字符串中有多少个字符):

示例③

1
2
3
>>>name = alex
>>>  print  len (name)
>> 4


如果想得到字符串最后一个字符可以用如下方法:

1
2
3
4
5
6
>>> name = alex
>>>
>>>  print  name[ - 1 ]           #------------>打印字符串倒数第一个字符的下标x
或者
>>>  print  name[ len (name)  - 1 ]    #---->将字符串长度减去1之后的值作为字符串最后一个字符的下标x
>>>

注释:对于字符串,索引(即下标)的最后一个值比该字符串的长度值小1


去掉字符串中的空格

示例④

1
2
3
4
5
6
7
8
9
10
11
>>> name  =  "    alex   "
>>>  print  name
     alex   
>>>
>>>  print  name.strip()       #------------->去掉字符串两端的空格
alex
>>>  print  name.lstrip()        #------------->去掉字符串左边的空格
alex   
>>>  print  name.rstrip()        #-------------->去掉字符串右边的空格
     alex
>>>


字符串的分割

split方法:将一个字符串按照指定的分隔符(','、‘a’、‘\t’)进行分割成一个列表

示例⑤

1
2
3
4
5
6
7
8
>>> names  =  "alex,eric,tony"
>>> names.split( ',' )
[ 'alex' 'eric' 'tony' ]
>>> names.split( 'a' )
[' ', ' lex,eric,tony']
>>> names.split( 't' )
[ 'alex,eric,' 'ony' ]
>>>

字符串追加元素方法append,同时字符串的内存地址不会发生变化

示例⑥

1
2
3
4
5
6
7
8
9
10
11
>>> name_list.append( 'seven' )
>>> name_list
[ 'alex' 'seven' 'eric' 'seven' ]
>>>
>>> name_list.append( 'hello' )
>>>  id (name_list)            
140546186766960
>>> 
>>> name_list
[ 'alex' 'seven' 'eric' 'seven' 'hello' ]
>>>


字符串元素的删除方法del

示例⑦

1
2
3
4
5
6
7
8
9
>>> name_list
[ 'alex' 'seven' 'eric' 'seven' 'hello' ]
>>>  del  name_list[ 0 ]
>>> name_list       
[ 'seven' 'eric' 'seven' 'hello' ]
>>>  del  name_list[ 1 ]
>>> name_list       
[ 'seven' 'seven' 'hello' ]
>>>

字符串如果被修改了,就要重新分配内存空间

示例⑧

1
2
3
4
5
6
7
>>> list1  =  "good evening everyone!"
>>>  id (list1)
140546186876528
>>> list1  =  "good morning everyone!"
>>>  id (list1)
140546186876656
>>>



2、集合

   列表

列表通过join方法连接变成字符串,连接的方式可以自己定义

示例①

1
2
3
4
5
6
7
8
9
>>> name_list       
[ 'seven' 'seven' 'hello' ]
>>>  "-" .join(name_list)
'seven-seven-hello'
>>>  " " .join(name_list)
'seven seven hello'
>>>  "#" .join(name_list)
'seven#seven#hello'
>>>

判断某个元素是否在列表里面用---in,返回结果是一个布尔值(False或True)

示例②

1
2
3
4
5
6
7
8
9
>>> name_list
[ 'alex' 'seven' 'eric' 'seven' 'hello' ]
>>>  "alex"  in  name_list
True
>>>  "tony"  in  name_list
False
>>>  "seven"  in  name_list
True
>>>



  元组

元组和列表的字面意义区别是:

A、元组用小括号定义(),列表用中括号[]

B、元组里面的元素是不可以修改、增加、删除,而列表中的元素是可以进行前面的所有的操作

C、元组和列表都可以进行切片、索引取值、通过len求长度、包含(in))、循环

D、字符串如果被修改了,那么就要重新分配内存空间

示例①

1
2
列表:>>>name_tuple  =  ( 'alex' 'seven' 'eric' 'seven' 'hello' )
元组:>>>name_list  =  [ 'alex' 'seven' 'eric' 'seven' 'hello' ]


示例②

1
2
3
4
>>> list1  =  [ "alex" ,(  'seven' 'eric' )]
>>>  print  list1
[ 'alex' , ( 'seven' 'eric' )]
>>>

列表list1中:

第一个元素是alex,第二个元素是:( 'seven', 'eric')

可以对这两个元素进行修改,但是对于第二个元素( 'seven', 'eric')里面的元素就不能进行修改了,因为第二个元素是元组,再操作我们的操作对象就发生了变化。

我们常说的列表可以进行增、删、改等操作都是针对最小单元进行的

列表的最小单元是元素,元组的最小单元也是元素,但是在list1中,( 'seven', 'eric')虽然是一个列表,但是同时也是list1的一个元素,我们以整体将( 'seven', 'eric')替换掉,但是不能对( 'seven', 'eric')里面的元素做进一步的修改。


小结:

#切片、索引、len()、包含、循环对str、list、tuple都适用

str :如果被修改就得重新分配空间,内存地址发生变化

list :修改后,内存空间地址不变

tuple :不允许修改

dict:字典,键值对,字典无序,特殊的for循环.items(),

    keys() ---->列表

    vlaues()---->列表

    items()------->仅for 循环时使用,使用时将元素赋值给k、v(k和v可以自己定义)


for 循环结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
for  ele  in  list str tuple
>>>  for  ele  in  name_list:
...      print  ele
... 
rick
cool
eric
seven
hello
>>>
>>>  for  ele  in  name_tuple:
...      print  ele
... 
alex
seven
eric
seven
hello
>>>
>>>  for  ele  in  str :    
...      print  ele      
... 
d
a
f
a
g
a
e
g
a
h
g
>>>

[root@Python scripts]# vim find.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/env python
#-*- coding:utf8 -*-
name_list  =  [ 'alex' , 'xiaoyueyue' , 'wenqiang' ]
for  ele  in  name_list:
     if  ele  = =  "alex" :
        print  "sb"
        #本次循环不再继续执行
        continue
     if  ele  = =  "xiaoyueyue" :
         print  "find"
         #
         break
[root@Python scripts] # python find.py
sb
find

while 循环结构

  while 条件:

     print '11111'

如果while后面的条件为真(即布尔值真)时,后面的语句一直执行下去;具体为:

spacer.gifwKiom1Y9-EezklrXAACV2tma7OE990.jpg


提示:如果while 后为False,那么只会执行到①步,后面第②不会继续执行


   字典

字典是以键:值对的形式存储数据,定义如下字典:

1
2
3
4
5
6
7
8
person  =  {
       "name" : 'alex' ,
       "age" : '18' ,
       "gender" : "1" ,
}
person.keys()  #--->所有的键
person.values()  #---->所以的值
person.items()  #--->所有的键值对(元素)



字典中的值都是与键成对出现的

1
2
3
4
5
6
7
8
for  k,v  in  person.items():
      print  k,v
  
[root@Python scripts] # python  dict_test.py    
gender  1
age  18
name alex
[root@Python scripts] #

发现打印的顺序并不是当初存储的顺序,所以说字典中的存储数据是无序的

1
2
3
4
for  k,v  in  person.intems():
     print  #------->以列表的形式
     print  #------->以列表的形式
     print  items()  #------>所有元素







      本文转自027ryan  51CTO博客,原文链接:http://blog.51cto.com/ucode/1710738 ,如需转载请自行联系原作者


相关文章
|
1月前
|
存储 开发者 索引
python怎么判断变量的数据类型
python怎么判断变量的数据类型
29 0
|
1月前
|
存储 索引 Python
|
9天前
|
索引 Python 容器
python 数据类型之列表
python 数据类型之列表
|
12天前
|
Python
Python数据类型学习应用案例详解
Python基础数据类型包括整数(int)、浮点数(float)、字符串(str)、布尔值(bool)、列表(list)、元组(tuple)、字典(dict)和集合(set)。整数和浮点数支持算术运算,字符串是不可变的文本,布尔值用于逻辑判断。列表是可变有序集合,元组不可变。字典是键值对的无序集合,可变,而集合是唯一元素的无序集合,同样可变。示例代码展示了这些类型的基本操作。
10 1
|
27天前
|
存储 Python
Python变量与数据类型探秘
本文介绍了Python编程中的核心概念——变量和数据类型。变量是存储数据的标识符,无需预声明类型,类型由赋值自动确定。命名规则要求变量名具有描述性,以字母或下划线开头,区分大小写。Python支持多种数据类型:数值(整数、浮点数、复数)、字符串、列表、元组、字典和集合。理解这些基本概念和类型特性对编写高效Python代码至关重要。
|
28天前
|
存储 程序员 C++
【Python 基础教程 03 类型转换】从隐式到显式:全面理解Python数据类型转换的超详细初学者入门教程
【Python 基础教程 03 类型转换】从隐式到显式:全面理解Python数据类型转换的超详细初学者入门教程
48 0
|
28天前
|
编译器 测试技术 C++
【Python 基础教程 02】 数据类型全解析:从基础到高级,实用指南及详细使用案例
【Python 基础教程 02】 数据类型全解析:从基础到高级,实用指南及详细使用案例
180 0
|
1月前
|
数据处理 索引 Python
python变量以及数据类型(四)
python变量以及数据类型(四)
19 1
|
1月前
|
存储 Python
python变量以及数据类型(三)
python变量以及数据类型(三)
23 2
|
1月前
|
存储 Python
python变量以及简单数据类型(二)
python变量以及简单数据类型(二)
12 1

热门文章

最新文章