Python基础知识(三) 整形,布尔,字符串,

Python基础知识(三)

一丶整型

#二进制转成十进制的方法
        # 128    64     32     16    8    4    2
           1     1       1      1    1    1    1
        例如数字5 : 101
#十进制转成二进制的方法
 递归除取余数,从底向上
        #十进制:5 
        5%2==1  👆
        2%2==0  👆     >>>>>0101   5的二进制就是:101
        2%2==1	👆
        1%2==0  👆

#python中获得十进制转成二进制占位个数
a=5 #  二进制->101
print(a.bit_length())# 3位

二丶布尔值类型

​ #bool 布尔值
​ #True 真 , False 假

####数值类型转换成布尔值类型 bool(数值)
	##只有0是False , 非0是True
        print(bool(0)) # False  只有0是False
        print(bool(1)) # True    非0是真
        
####字符串转换成布尔值类型 bool(字符串)
	##空的字符串为False ,非空字符串为True
    	print(bool(''))  # 空字符串 False
        print(bool("abc")) # 非空字符串 True
 
####布尔值类型转换成字符串类型 str(布尔值)
		print(str(True)) # 转换成字符串 True
    	print(type(str(False)))# 查看类型<class 'str'>
        
####布尔类型转换成数值类型  int(布尔值)
		print(int(True)) #  转成int  1
		print(type(int(False))) #<class 'int'>

三丶字符串

​ #python中:

​ 字符串是由:单引号 '' , 双引号"", 三引号''''''引起来的内容

​ #字符串的作用:

​ 存储小量的数据

​ 切片操作

#在计算机中,字符串的下标(索引)从0开始,
	#从左向右
    name='Tom'
    print(name[0]) # T
    print(name[1]) # o
    print(name[2]) # m

    #从右到左
    print(name[-1])  #  m
    print(name[-2])  #  o
    print(name[-3])  #  T
    
    
    
# 字符串的切片    目的: 得到想要的字符串数据
# 格式: a[start: end (顾头不顾尾): step(步长,默认为1)]
    a='abcdefg'
    print(name[0:10]) #切片结束位置超出,不报错
    print(name[100]) #索引下标越界 --->控制报错
    print(a[1:4])# bcd     4-1 取3个
# 案例: 
	s='你好世界'
  #取出: 你世     	
	print(s[0:4:2])
  #取出: 好界
	print(s[1:4:2])
  #取出: 界世
	print(s[-1:-3:-1]) 
        
#起始位置 + 步长
print(a[0:6:2])     #ace        
  ***过程: ab  cd ef  --->在区间内,2个分一组,取分组的第一个***

*******切片方向理解*******
#切片方向的错误  案例:
print(a[-1:-15:]) #    默认方向+1 从左到右, 取值方向错误~~~~
print(a[-7:-1:-1]) #   方向 -1  从右到左, 取值方向错误~~~~

切片的规律图:

字符串操作

#1.全部大写
name='test'
print(name.upper())

#2.全部小写
name3='TESTA'
print(name3.lower())

#3.判断以哪个字符开头
print(name.startswith('t'))

#4.判断以哪个字符结尾
print(name.endswith('t'))

#5.count 统计字符串的个数
a='aaabbc'
print(a.count('a'))

#6. 字符串的替换
b='abcaim'
print(b.replace('a','q',1))  # old  new  count 次数:替换的次数

#7. 去除字符串两端的空格或者空白部分
c='  123   '
print(c.strip()) # strip()默认去除空格,指定要去除的内容
print(c.rstrip()) # strip()右去除,指定要去除的内容
print(c.lstrip()) # strip()左去除,指定要去除的内容

#8. 分隔
d='a,b,c,d,e,f,'
print(d.split(','))# 默认去除空格, 可以指定要分隔的内容.返回数据是列表形式

#9. format字符串格式化

        # 按照位置顺序填充
        e='a is {} b is {}'
        print(e.format('boy','girl'))

        # 按照索引位置顺序填充
        e='a is {} b is {}'
        print(e.format('boy','girl'))

        #按照指定参数填充
        e='a is {a} b is {b}'
        print(e.format(a='boy',b='girl'))


# 10 判断是不是阿拉伯数字
num='231'
print(num.isdigit())

#11. 判断是不是10进制数字
num2='11'
print(num2.isdecimal())

#12. 判断是不是中文和字母
txt='奥迪ald'
print(txt.isalpha())

#13. 判断是不是字母和数字,中文和阿拉伯数字
txt2='大声dka213'
print(txt2.isalnum())

#14 获取长度
s='abcdefg'
print(len(s)) #公用的  工厂函数,所有类型都能使用,除了int 和bool类型

四丶for循环

#for循环语法:
#for关键字   i变量  in 关键字   s可迭代对象
    s='abcd'
    for  i  in  s:	
	      print(i)

#range(start,end,step)  --->范围  ,  生成一个序列。
#参数含义:
	  start:计数的开始位置,默认是从0开始。
      end: 计数的结束位置
      step:每次跳跃的间距,默认为1
   

### 例题: 
for i in range(5,0,1):         # ①如果没有定义for循环中的结束位置会报错, ② 如果定义了结束位置,但是结束位置比起始位置小. 则循环取到值.并不会出错    

        print(i)                     # 取不到值   




#pass 占位符 和 ... 
	在for循环体内什么也不执行


***区别:python2  和 python3中***
python3: range()返回的是一个可迭代的对象,不是列表类型
    x=range(3)
    print(type(x)) # ----><class 'range'>
	print(x)      #---->range(0,3)
    
 	**标注:Python3中的range和生成器是不一样的.

python2: range()函数返回的是列表。
    x=range(3)
    print(type(x)) # --->[0,1,2] 列表
    
posted @ 2019-06-05 16:30  染指未来  阅读(166)  评论(0编辑  收藏  举报