首页 > 编程语言 > 详细

PYTHON -- 基础3

时间:2019-04-21 16:48:09      阅读:151      评论:0      收藏:0      [点我收藏+]

1.数据类型

1.int 类型 用于计算

1.1 bit_length() 

  转换为2进制的最小位置 有效的

i = 5
print(i.bit_length())

 

i 二进制 i.bit_length()
1 0000 0001 1
2 0000 0010 2
5 0000 0101 3

 

2.boot :布尔值 T F 用于判断

转换问题 

2.1 int---str

i = 1

str(i)

没有条件

2.1.2 str---int

只能是数字转换

s = ‘123‘  //‘123w‘不行//

i = str(s)

2.2 int --- bool

i = 3

b = bool(i)

PS:只要是0 就是False  非0就是True

2.2.1 bool ---int

True ---1   False---0

2.3 转换效率问题

while True:
    pass
while 1: 
    pass

下面的要比上面的效率高

2.4 str---bool

2.4.1

s = "" -----> False
非空字符串都是True
s = "0" -----> True
 s
 if s:
     print(你输入的为空,请重新输入)
 else:
     pass

 

3.str类型: 存储少量数据,进行操作 !!! 有引号引起来的 “XXXX”

3.1 字符串的索引和切片

字符串 是有顺序的 有序号的

   s =‘ASD456FGG’

序号  0123456789

假如要取出A   只用输出序号即可

# s1 = s[0]
# print(s1)

S1 同时也是字符串 对字符串进行操作 产生的也是字符串

取出来的和原来的没有影响

3.2 切片  // 固头不过尾//

要取出ASD4

# s5 = s[0:4]
# print(s5)

而不是[0:3]

3.2.1 反向取值

# s3 = s[-1]

# print(s3)

PS: 从正向取值就从0开始,反向就从 -1开始取值 但是要想全部取出来 就是s[0:-2] 因为切片是固头不固尾

 

3.3 取中间跳着取

s = ‘ABCDLSESRF‘  # s[首:尾:步长]
# s10 = s[0:5:2]
PS :步长必须是等长的
反向取
# print(s10)
s11 = s[4:0:-1]
但是这样会出LDCB 不会有A 若要有A 应该:
print(s11)
s12 = s[4::-1]
PS 主要是倒着着取 开头都是-1 同时 步长的 正负代表方向
 

4.list:列表 存储大量的数据 [ 123,123, ] 逗号分隔为1组

5.元祖:和列表一样存储大量数据 (132,123) 但是元祖是只读列表:只能读取,不能修改!

6.dict :字典 {‘name’:‘tom’,‘age’:‘16’}储存关系的 成对的,可以对应列表 。同时字典的查询的速度非常快

7.集合:{1,2,3}只能储存数据  

8.字符串的操作

8.1 字符串的首字母大写

a =wangjiade
a1 = a.capitalize()
print(a1)

输出 a1 = Wangjiade

8.1.2 字符串全部大写

a =wangjiade
a1 = a.upper()
print(a1)

输出 a1 = WANGJIADE

 

8.1.3 字符串全部小写

a =wangjIade
a1 = a.lower()
print(a1)

输出a1 = wangjiade

 

应用实例 :输入大小写

zm = CAcs4
you_input =input(请输出验证码,不区分大小写)
if zm.upper() == you_input.upper():
    print(success)
else:
    print(fall)

PS zm.input.lower 也可以!

8.1.4 大小写翻转

a =JohnNoenscc
a1 = a.swapcase()
print(a1)

输出 a1 = jOHNnOENSCC

8.1.5 各个首字母大写

a =john tom jerry mary
a1 = a.title()
print(a1)

PS 以空格个开的 中间也可以是特殊字符 !@#¥%……12

输出:John Tom Jerry Mary

8.1.6 居中

a =jsdasdQy
a1 = a.center(20)
print(a1)

PS 20的开头的距离 center(中间必须打数字。‘填充物’)

 8.1.7 补8个位 tab

a =jsda\tsdQy
a1 = a.expandtabs()
print(a1)

jsda(四个空格 前面有四位了)sdQy

8.2 公用长度

a = ghfsdjafdasfq34123sad飞
l = len(a)
print(l)

站位数字 中文也算

8.3 寻找以什么为开头

#以什么开头结尾 endswith
# s = ‘alexWUsir‘
# s7 =s.startswith(‘alex‘)
# s71 = s.startswith(‘e‘,2,5)
# print(s71)
#输出 T exW

8.4 find 通过元素 输出索引 找不到返回-1

      index 通过元素找所以 找不到就报错

s = horeismy
s1 = s.find(s)
print(s1)

8.5 strip 默认删除前后的空格

strip(‘里面打入什么 就是删掉什么 什么都不加 就是默认删除空格’) 但是只删除前后 中间不删除

s =  *a%lexWUsi* r%
s91= s.strip( %*)
print(s91) 

输出为a%lexWUsi* r

PS :如果要想从左删除就是rstrip  从右删除就是lstrip

8.6 count 查询 单个字符

有就输出对应个数 没有就输出0个 可以组合查询

s = alexaa wusirl
s10 = s.count(al)
print(s10)

输出为1

8.7 split 分隔切割  

默认以空格为切分 split(中间写入什么就以什么来分割)

# s = ‘;alex;wusir;taibai‘
# l = s.split(‘;‘)
# print(l)

PS 同时注意以什么为分隔 那么输出时候 分隔的东西会消失  比如上面的;输出来就没有了

8.8format 格式化输出 和%s一样

# s = ‘我叫{},今年{},爱好{},再说一下我叫{}‘.format(‘TOM‘,22,‘girl‘,‘tom‘)
# print(s)
# name = input(‘请输入名字:‘)
# s = ‘我叫{0},今年{1},爱好{2},再说一下我叫{0}‘.format(name,36,‘girl‘)
# print(s)
# name = input(‘请输入名字:‘)
# s = ‘我叫{name},今年{age},爱好{hobby},再说一下我叫{name}‘.format(age=18,name=name,hobby=‘girl‘)
# print(s)

 

PS 注意要按照顺序  {}=%s的%

 

8.9 字符的替换 replace

s = 我喜欢隔壁的大哥,隔壁的大哥也喜欢我
s11 = s.replace(大哥,老王,2)
print(s11)

最后的数字是 替换的次数 

 8.10 is

name = jijiji888
print(name.isalnum())#数字和字母
print(name.isalpha())#只能有字母
print(name.isdigit())#只能有数字

 

PYTHON -- 基础3

原文:https://www.cnblogs.com/wangjiadee/p/10738858.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!