第二篇:python基础(数据类型与循环)

数据类型:

一 、整数类型

如: 18、73、84

bit_length():整数类型对应的二进制长度:

 1 n = 1
 2 print(n.bit_length())
 3 #1
 4 n = 2
 5 print(n.bit_length())
 6 #2
 7 n = 3
 8 print(n.bit_length())
 9 #2
10 n = 4
11 print(n.bit_length())
12 #3
13 n = 5
14 print(n.bit_length())
15 #3
View

 

二、字符串类型

如:'qqqq'、'www'

字母变大写

1 name = 'gouge'
2 value = name.upper()
3 print(value)
4 
5 判断是不是全部都是大写
6 print(name.isupper())
upper()

字母变小写

1 name = 'DAge'
2 v = name.lower()
3 print(v)
4 
5 #判断是否是小写
6 print(name.islower()
lower()

去除首尾的空格,换行,制表符

1 s = ' 111 '
2 l = s.strip() 
3 print(l)
4 #若规定去除左边或者右边的空格
5 #用lstrip() & rstrip()
6 #去除指定的内容
7 s = '**hello,world**'
8 l = s.strip(*)
9 print(l)
strip()

 获取字符串长度

1 string = 'abcdefghijklmnopqruvwxyz标准'
2 length = len(string)
3 print(length)
len()

字符串的替换

1 一:
2 string = 'abcdefghijklmnopqruvwxyz标准'
3 new = string.replace('def','DEF')
4 print(new)
5 二:
6 v = '谁是谁的谁,你是谁'
7 value = v.replace('','who',5) { 替换字符串中的第三个参数,可以控制它替换的个数}
8 print(value)
replace()

判断当前字符中是否全部是数字

isdecimal()

首字母大写 

1 new_list = 'hahaha啥玩意儿'
2 length = new_list.capitalize()
3 print(length)
4     
capitalize()

连接字符串中的每个字符(包括标点符号)

1  new_str = 'haha,ha,啥玩,意儿'
2  length = 'xxx'.join(new_str)  
3  # 引号中可以为任何,切记只适用于字符串类型!
4  print(length)
jion()

判断字符串开头结尾的字符

1 new_str = 'haha,ha,啥玩,意儿'
2  length = new_str.startswith('ha')   
3 # 字符串类型一定要在括号中加引号
4 print(length)     --true
startswith()endswith()

自定义几位,不够用_补全,自定义变量默认在中间

1 u1 = "zhang"
2 u2 = u1.center(20 ,'_')
3 print(u2
center()

查看变量在字符串中出现了几次,可自定义查看多少位

u1 = "zhangyanlin is zhgod"
u2 = u1.count(“'zh”)
print(u2)
#自定义zh在前十位出现了几次
u1 = "zhangyanlin is zhgod"
u2 = u1.count('zh',0, 10)
print(u2)
count()

找位数,相同只能找第一个出现的,没有响应会反馈-1

1 u1 = "zhang hello"
2 print(u1.find('a'))
3 #注意:从第一位开始是从0开始数的
find()

格式化字符串

1 print("name {0}, age {1}".format("zhang",18))
2 #0,1代表占位符
format()

判断(返回布尔值)

 1 u1 = ‘zhNG is yan’ n
 2 #判断是否是字母
 3 print(u1.isalpha())
 4 
 5 #判断是否是数字
 6 print(u1.isdigit())
 7 
 8 #判断是否是字母和数字
 9 print(u1.isalnum()
10 
11 #判断是否有空格
12 print(u1.isspace())
is开头

 

三、布尔值类型

布尔类型只有两种值:true和false

 

四、列表类型

如:[11,22,33]、['ww','qq','zz']

可以根据索引取值,也可以切片取值

追加

1 list1 = ['a','b','c',0,1,]
2 list1.append('2') 
3 print(list1) 
4 此方法默认追加在末尾
append()

在指定位置插入数据

1 list1 = ['a','b','c',0,1,]
2 list1.insert(3,'d')
3 print(list1)
insert()

将列表的顺序反转

1 new_list = ['a','b','c',0,1,]
2 new_list.reverse()
3 print(new_list)
reverse()

计算类表的长度

1 new_list = ['a','b','c',0,1,]
2 length = len(new_list)
3 print(length)
len()

字符出现次数

1 name_list = ["zhangyanlin","suoning","nick"]
2 name_list.append('zhang')
3 name_list.append('zhang')
4 name_list.append('zhang')
5 print(name_list.count('zhang'))
count()

加入数据,可批量加入

1 name_list = ["zhangyanlin","suoning","nick"]
2 name = ["aylin","zhang","yan","lin"]
3 name_list.extend(name)
4 print(name_list)
extend()

找到字符所在位置

1 name_list = ["zhangyanlin","suoning","nick"]
2 print(name_list.index('nick'))
index()

从左往右移除,只找第一个

1 name_list = ["zhangyanlin","suoning","nick"]
2 name_list.remove('nick')
3 print(name_list)
remove()

删除元素,可自定义删除

1 ll = ['sdsd', 'ssss', 'ffff', 7, 8, 9, 10]
2 del ll[0:2]
3 print(ll)
del()

删除

pop()

remove,pop,del三种方法的区别:

 1 remove(item)方法是直接对可变序中的元素进行检索删除,返回的是删除后的列表,不返回删除值(返回None)
 2 list1=[1,3,6,7,8]
 3 print list1.remove(3) #对列表元素进行搜索删除,而不是下表
 4 print list1
 5 
 6 None
 7 [1,6,7,8]
 8 
 9 pop(index)方法是对可变序列中元素下标进行检索删除,返回删除值
10 list1=[1,3,6,7,8]
11 print list1.pop(3),#对列表下表进行检索删除
12 print list1
13 
14 7
15 [1,3,6,8]
16 
17 dict1={'Abby':21,'Bob':22,'cindy':21}
18 print dict1.pop(1)
19 print dict1
20 
21 del(list[index])方法是对可变序列中元素下边进行检索删除,不返回删除值
22 list1=[1,3,6,7,8]
23 del list[3]
24 print list1
25 
26 [1.3,6,8]
区别

 

五、元组类型

如:(11,22,33)、('wupeiqi', 'alex')

1 一旦初始化,里面的子元素就不能在进行修改,但是为了安全起见,尽可能使用元祖
2 它拥有列表索引方法f也可以使用for 循环
3  
4 如果要访问某一个人,就直接取索引
5  
6 虽然元组是不可修改的,但是可以将他转化成别的类型,再进行修改,如列表
注意

 

 
六、字典类型
如:{'name': 'wupeiqi', 'age': 18} 、{'host': '2.2.2.2', 'port': 80]}
 1 字典(dict)是一个存放无序的键值映射(key/value)类型数据的容器字典的键可以是数
 2 字、字符串或者是元组,键必须唯一。在Python中,数字、字符串和元组都被设计成不可变类型,
 3 而常见的列表以及集合(set)都是可变的,所以列表和集合不能作为字典的键。键可以为任何不
 4 可变类型,这正是Python中的字典最强大的地方
 5 结构:
 6 dict1 = {'key':'value','key':'value','key':'value',}
 7 字典里面的元素可以重复,元素中,前面的称为键值对,而键值相当于列表中的索引,
 8 可以根据键值,找出相对应的值也可以通过key值改变相对应的值,一个key只能对应一个value
 9 当key不存在时会报错,而为避免这种错误 ,有两种方法
10 ---通过in判断key是否存在
11 如:
12 'key' in dict返回值为布尔类型
13 ---通过get方法如果key不存在返回None,存在返回value
14 删除 同样使用del输入key
注意

 

七、集合类型

 dict是建立了一系列的映射关系,而set是建立一系列无序的,且不重复的元素。

 添加,可以重复添加,但是没有效果
 1 add()添加,有重复元素可以添加,但不会有效果:
 2  
 3 >>> S.add(4)
 4 >>> S
 5 
 6 {1, 2, 3, 4, 5}
 7 
 8 >>> S.add(9)
 9 >>> S
10 
11 {1, 2, 3, 4, 5, 9}
add()

 

八、浮点类型

如:3.14、2.88

 
数据类型总结:
按存储空间的占用分(从低到高)
数字
字符串
集合:无序,即无序存索引相关信息
元组:有序,需要存索引相关信息,不可变 列表:有序,需要存索引相关信息,可变,需要处理数据的增删改 字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改
 

按存值个数区分

标量/原子类型 数字,字符串
容器类型 列表,元组,字典

 

 

 

 

按可变不可变区分

可变 列表,字典
不可变 数字,字符串,元组
 
 
 
 
 
循环的两种方式:
 
while循环和for循环
  while为无限循环
  for为字符串中逐个循环
break 和continue
  break  打断循环,终止
  continue  跳出本次循环,进行下次循环    
 
举个栗子:
 
 使用range实现打印100, 99, 98…1, 0。
1  for v in range(100,-1,-1): #(-1为步长,倒着没有步长不能取,其余情况都可以)
2 print(v)
示例
for 循环代表是字符串中的字符循环,但是! 加一个range就成了将这个整数类
型的从左到右依次给单独循环表示出来
 
分别使用for和while循环实现 1 - 2 + 3 - 4 + 5…+99 
1 count = 0                                            
2 for v in range(1,100):                    
3 if v%2 == 1:                
4 count = count+v                
5 elif v%2 == 0:                    
6 count =count -v                
7 print(count)           
for
1 num = 0
2 sun = 0
3 while num < 99 :
4 num += 1
5 if num %2 == 1 :
6 sun = sun + num
7 elif num%2 == 0 :
8 sun = sun - num
9 print(sun)
while

 

有以下数字:1,2,3,4,5,6,7,8 共八个数字,能组成多少个互不不相同且⽆无重复的两位数?

1 num = 0
2 for a in range(1,9):
3 for b in range(1,9):
4 if a != b :
5 num += 1
6 print(num)
栗子

 

posted @ 2017-08-19 22:04  一个可敬的对手  阅读(310)  评论(0编辑  收藏  举报