码迷,mamicode.com
首页 > 编程语言 > 详细

Python---蹒跚学步

时间:2019-06-06 15:37:08      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:可迭代对象   数字   pytho   类型   split   布尔   验证   spl   进制   

3.1整数

int: 用于计算和比较
二进制和十进制的推位(转换)
bit_length 二进制的有效占位
print(num.bit_length())   求十进制数转换成二进制时所占用的位数

3.2布尔值

bool:布尔值--用于条件使用
true  真
false  假

数字转成布尔值:
print(bool(-10))       0 是 False             非0的都是True
字符串转换成布尔值:
print(bool(" "))       空的字符串是 False      非空的就是True
print(type(str(True))) 布尔值可以转换成字符串
布尔值转成数字:
print(int(False))    (True 转化成数字 1)   (False 转换成数字 0)

3.3字符串

字符串 -- 用于存储数据的 -- 比较少
python 中只要是用引号 引起来的就是字符串
""
''             需要配合使用
""" """
''' '''

索引(下标):
name = "meet,alex,wusir,wangsir,Eva_j"
       01234567  (索引)     #从左向右数数
      -4-3-2-1 (索引) # 从右向左数数

a = name[1]
b = name[2]
print(a + b)

print(name[5:9])  区间[起始位置:终止位置]  顾头不顾尾
(索引查找时超出范围会出错)

a = name[0]
b = name[3]
c = name[6]
d = name[9]
print(a+b+c+d)

步长:
print(name[0:10:3])
[起始位置:终止位置:步长] 你走路迈的步子 起始位置 + 步长
(步长:决定查找的方向,决定查找的步子大小.默认大小是1,默认方向是从左到右.)

切片:
print(name[0:100])  切片如果终止位置超出了不报错
print(name[100])    索引取值的时候超出了索引的范围会报错
print(name[::])
print(name[::-1])  从左向右  +1  从右向左

a = name[8:11]
b = name[16:19]
c = name[-3:]
李亚鹏 谢霆锋 陈冠希

print(c,b,a)
print(name[::3])
name = "周扒皮,王菲,陈冠希,张柏芝,谢霆锋,周星驰,李亚鹏"

总结:
    字符串,列表,元组  --  都是有索引(下标)
    索引是准确的定位某个元素
    从左向右 0,1,2,3
    从右向左 -1,-2,-3,-4
    支持索引的都支持切片   [索引]
    切片长度可以超出范围,索引长度不能超出范围  [起始位置:终止位置]
    步长: 决定要走的方向,决定走的步子多大  [起始位置:终止位置:步长]
    起始位置 + 步长

字符串方法:
全部大写
name = "meet"
name1 = name.upper()
print(name1)

print(id(name))
print(id(name1))

name = "MEET"
name1 = name.lower()
print(name1)

yzm = "o98K"
input_yzm = input("请输入验证码(o98K):")
if yzm.upper() == input_yzm.upper():
    print("正确")
else:
    print("错误")

以什么开头
name = "alex"
print(name.startswith('a'))  就是以a开的头

以什么结尾
name = "zhuxiaodidi"
print(name.endswith("i"))    就是以i结尾

count  统计
name = "zhudidi"
print(name.count("zhu"))    查询某个内容出现的次数

替换  ****
name = "alexnbnsnsn"
name1 = name.replace('n','s')   替换
name1 = name.replace('n','s',2)   替换  2是替换的次数
print(name1)

除去头尾两边的空格  脱   *****
name = " alex   "
name1 = name.strip()  可以写想要去掉的内容
print(name1)
if name == "alex":
    print(666)

name = "   alex     "
print(name.strip())

分割    *****
name = 'alex,wusir'
print(name.split("w"))
默认是以空格分割 ,也可以自己制定分割
分割后返回的内容是一个列表

第三种字符串格式化
name = "alex{}wusir{}"
name1 = name.format('结婚了',"要结婚了")   按照位置顺序去填充的

name = "alex{1}wusir{0}"
name1 = name.format('结婚了',"要结婚了")    按照索引位置去填充

name = "alex{a}wusir{b}"
name1 = name.format(a="结婚了",b="马上结婚")  指名道姓 填充
print(name1)

is 系列  -- 判断

name = "②"
print(name.isdigit())   判断是不是阿拉伯数字

name = "666"
print(name.isdecimal()) 判断是不是十进制  -- 用它来判断是不是数字

name = "alexs你好"
print(name.isalpha())    判断的是中文和字母

name = "alex666"
print(name.isalnum())     判断的是不是字母,中文和阿拉伯数字

3.4for循环

s = "alexcnb,wusirnb,ritian,egon,taibai,qiuqiu"
count = 0
while count < len(s):
    print(s[count])  # s[0] s[1] s[2]
    count += 1
    
print(len(s))  # 公用的  工厂函数 -- 所有类型都能用  他俩除外int -  bool

for循环
s = "alex"
for i in s:
    print(i)
    
for 关键字
i 变量
in 关键字
s 可迭代对象  int - bool

for a in "alex":
     print(a)
      pass # 过 -- 占位符 
      ...
print(a)
输出为:
a
l
e
x
x
面试题:循环后的i变量指向的是最后的一个元素
占位: pass  ...

range()
s = range(1,10)  # 面试大坑 (python3打印是它自己本身  python2打印是列表)
print(s)  # 范围

for i in  range(1,10,2): # (起始位置,终止位置,步长)
    range(10) 指定了终止位置,起始位置默认是0
    print(i)

for i in range(100,-11,-1):
    print(i)

for i in range(1):
    print(i)

Python---蹒跚学步

标签:可迭代对象   数字   pytho   类型   split   布尔   验证   spl   进制   

原文地址:https://www.cnblogs.com/hql1117/p/10985089.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!