python 基础二

python 基础二 (基础数据类型)

一、基础数据类型

  1. int

      表现类型:' 2,3,。。。' 主要用于计算,运算,

#bit_lenght() 当十进制用二进制表示时,最少使用的位
a = 12
data = a.bit_length()
print(data) #return 4

   2.str

    ‘hello’,‘NIHAO’,‘哦’...少量的数据用于存储

     2.1、字符串的索引与切片

    索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推

    

a = 'qweerttyui'
print(a[0])
print(a[1])
print(a[2])
print(a[3])
print(a[4])
print(a[5])

     切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾尾)

  

a = 'ABCDEFGHIJK'
print(a[0:3])
print(a[2:5])
print(a[0:]) #默认到最后
print(a[0:-1]) #-1就是最后一个
print(a[0:5:2]) #加步长
print(a[5:0:-2]) #反向加步长

    2.2、字符串的常用方法

#captalize,swapcase,title
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
msg='egon say hi'
print(msg.title()) #每个单词的首字母大写

# 内同居中,总长度,空白处填充
ret2 = a1.center(20,"*")  
print(ret2)

#数字符串中的元素出现的个数。
# ret3 = a1.count("a",0,4) # 可切片
# print(ret3)

a2 = "hqw	"
#	前面的补全
# 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
ret4 = a2.expandtabs()
print(ret4)

a4 = "dkfjdkfasf54"
#startswith 判断是否以...开头
#endswith 判断是否以...结尾
# ret4 = a4.endswith('jdk',3,6)  # 顾头不顾腚
# print(ret4)  # 返回的是布尔值
# ret5 = a4.startswith("kfj",1,4)
# print(ret5)

#寻找字符串中的元素是否存在
# ret6 = a4.find("fjdk",1,6)
# print(ret6)  # 返回的找到的元素的索引,如果找不到返回-1

# ret61 = a4.index("fjdk",4,6)
# print(ret61) # 返回的找到的元素的索引,找不到报错。

#split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
# ret9 = 'title,Tilte,atre,'.split('t')
# print(ret9)
# ret91 = 'title,Tilte,atre,'.rsplit('t',1)
# print(ret91)

#format的三种玩法 格式化输出
res='{} {} {}'.format('egon',18,'male')
res='{1} {0} {1}'.format('egon',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)

#strip
name='*egon**'
print(name.strip('*')) 
print(name.lstrip('*'))
print(name.rstrip('*'))

#replace
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1))

#####is系列
name='jinxin123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成
str——view code

    3.bool

    真  1  True

    假  0  Flase

----插语: 我喜欢35,我一直以为是pink呢,原来是紫红。。

#print输出,改变背景颜色 
格式:33[显示方式;前景色;背景色m
  
说明:
前景色            背景色           颜色
#
li = [1,'a','b',2,3,'a']
# li.insert(0,55) #按照索引去增加
# print(li)
#
# li.append('aaa') #增加到最后
# li.append([1,2,3]) #增加到最后
# print(li)
#
# li.extend(['q,a,w']) #迭代的去增
# li.extend(['q,a,w','aaa'])
# li.extend('a')
# li.extend('abc')
# li.extend('a,b,c')
# print(li)
#
# l1 = li.pop(1) #按照位置去删除,有返回值
# print(l1)

# del li[1:3] #按照位置去删除,也可切片删除没有返回值。
# print(li)

# li.remove('a') #按照元素去删除
# print(li)

# li.clear() #清空列表
#
# li = [1,'a','b',2,3,'a']
# li[1] = 'dfasdfas'
# print(li)
# li[1:3] = ['a','b']
# print(li)
#
切片去查,或者循环去查


---------------------------------------
30                40              黑色
31                41              红色
32                42              绿色
33                43              黄色
34                44              蓝色
35                45              紫红色
36                46              青蓝色
37                47              白色
显示方式           意义
-------------------------
0                终端默认设置
1                高亮显示
4                使用下划线
5                闪烁
7                反白显示
8                不可见
  
例子:
033[1;31;40m    <!--1-高亮显示 31-前景色红色  40-背景色黑色-->
033[0m          <!--采用终端默认设置,即取消颜色设置-->

 二、列表

 增删改查

#
li = [1,'a','b',2,3,'a']
# li.insert(0,55) #按照索引去增加
# print(li)
#
# li.append('aaa') #增加到最后
# li.append([1,2,3]) #增加到最后
# print(li)
#
# li.extend(['q,a,w']) #迭代的去增
# li.extend(['q,a,w','aaa'])
# li.extend('a')
# li.extend('abc')
# li.extend('a,b,c')
# print(li)

#
# l1 = li.pop(1) #按照位置去删除,有返回值
# print(l1)

# del li[1:3] #按照位置去删除,也可切片删除没有返回值。
# print(li)

# li.remove('a') #按照元素去删除
# print(li)

# li.clear() #清空列表


#
# li = [1,'a','b',2,3,'a']
# li[1] = 'dfasdfas'
# print(li)
# li[1:3] = ['a','b']
# print(li)
#
切片去查,或者循环去查。
增删改查

其他操作

#通过元素找索引
# print(list.index(2))

#sort reverse
# li = [1,2,3,4,7,9,6,5]
# li.sort()
# print(li)
# li.sort(reverse=True)
# print(li)

#reverse 反向排列

#l1 = [1, 2, 'alex', 'wusir',['oldboy', 'ritian', 99], 'taibai']
#1 #第一种
# l1[2] = 'ALEX'
# print(l1)
# #第二种
# l1.pop(2)
# l1.insert(2,'alex'.upper())
# print(l1)
# l1[2] = l1[2].upper()
#2
# l1[4].append('女神')
# print(l1)
#3
# l1[4][1] = l1[4][1].capitalize()
# print(l1)
#4
# l1[-2][-1] = str(l1[-2][-1] +1)
# print(l1)
#字符串拼接
# l1[-2][-1] = str(l1[-2][-1]) + '1'
# print(l1)

三、元组

  元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

四、字典

 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

  字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

增删改查

#字典3.6版本之前,字典是无序的,暂定之后是有序的
dic = {'name':'taibai', 'age':21, 'habby':'gril'}

#
dic['name'] = 'ritian'
print(dic)
dic.setdefault() #有则不变,无则添加
dic.setdefault('high',180)
dic.setdefault('name','ritian')
print(dic)

#
print(dic.pop('name')) #返回对应的值
print(dic)
print(dic.pop('name1',None))
dic.clear() #清空
print(dic)

del dic
print(dic)

del dic['age']
print(dic)

print(dic.popitem()) #3.6之前,随机删除,之后不确定
print(dic)
#
dic['name'] = '老男孩'

dic2 = {'name':'alex','weight':75}
dic2.update(dic) #将dic的建值对覆盖添加到dic2中,dic不变
print(dic)
print(dic2)

#
print(dic['name'])
print(dic.get('name','sb代')) #如果没有返回None,也可以设置返回值

#keys() values() items()
print(dic.keys())
for i in dic.keys():
    print(i)
print(dic.values())
for i in dic.values():
    print(i)
print(dic.items())
for i in dic.items():
    print(i)

#分别赋值
a,b = 1,2
a,b,c = ['yoyo', 'xiaolou', 'rita'] #必须元素与变量数量一致
print(a,b,c)
a = 1
b = 5
a,b = b,a
print(a,b)
for k, v in dic.items():
    print(k, v)

#len
print(len(dic))

fromkeys与字典的嵌套使用

#fromkeys
dic1 = dic.fromkeys('abc', '张三')
dic2 = dic.fromkeys([1, 2, 3], '李四')
print(dic2)
dic3 = dic.fromkeys('abc', [])
dic3['a'].append('老男孩')
print(dic3)

#字典的嵌套
dic = {
    'name_list':['b哥', '张帝', '人帅', 'kitty'],
    '老男孩':{
        'name':'老男孩',
        'age': 46,
        'sex': 'ladyboy'
    },
}
#1
dic['name_list']=dic['name_list'].append('骑兵')
#2
dic['name_list'][-1] = dic['name_list'][-1].upper()
# print(dic)
#3
#dic.popitem()
dic.setdefault('oldboy',{'name':'oldboy','age': 46, 'sex': 'ladyboy'})
#4
dic['oldboy']['sex'] = dic['oldboy']['sex'].capitalize()
dic['老男孩'].setdefault('name','oldboy')
print(dic)
View Code

五、其他(for,enumerate,range)

for循环:用户按照顺序循环可迭代对象的内容。

复制代码
msg = '老男孩python是全国范围内最好的python培训机构'
for item in msg:
    print(item)

li = ['alex','银角','女神','egon','太白']
for i in li:
    print(i)

dic = {'name':'太白','age':18,'sex':'man'}
for k,v in dic.items():
    print(k,v)
复制代码

enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。

复制代码
li = ['alex','银角','女神','egon','太白']
for i in enumerate(li):
    print(i)
for index,name in enumerate(li,1):
    print(index,name)
for index, name in enumerate(li, 100):  # 起始位置默认是0,可更改
    print(index, name)    
复制代码

range:指定范围,生成指定数字。

复制代码
for i in range(1,10):
    print(i)

for i in range(1,10,2):  # 步长
    print(i)

for i in range(10,1,-2): # 反向步长
    print(i)

  

ps:这个知识点知道的人太多了,本来不想写的,最后还是抄了上来,迷之脑袋,基础搞差不多了,多撸撸代码,让这些知识变成自己的,都在努力中

                                  ----LDoctor

原文地址:https://www.cnblogs.com/lyh0301/p/8811026.html