python中da_python数据类型一

python数据类型一

1.int 整数

1 n = 56

2 print(n.bit_length()) #计算56的二进制是几位

3 # 0011 1000

4 注意:

5 # python2 中有长整形 long

6 # python3 中全都是整型

2. 所有数据类型与bool (布尔值 )之间的转换

1 Treu转换为int为1,False转换为int为0 2 n = int(True)

3 print(n)

4 结果

5 1

6

7 n = int(False)

8 print(n)

9 结果

10 0

11

12 在数字转换成布尔值的时候只有0是False 其余的都是True13 例如:

14 n = bool(6)

15 print(n)

16 结果

17 True

18

19 s = bool(-1)

20 print(s)

21 结果

22 True

23

24 s1 = bool(0)

25 print(s1)

26 结果

27 False

28

29 所有的数据类型的空转换为bool都可以表示False,都返回False否则就是True30 print(bool(True))

31 True

32 print(bool(False))

33 False

34

35 print(bool([]))

36 print(bool({}))

37 print(bool(set()))

38 False

39

40 None表示空

41 print(bool())

42 False

43 print(bool(None))

44 False

45

46 字符串转布尔值的时候,只要不为空就是True,空字符串表示False47 print(bool('测试'))

48 True

49 print(bool(' '))

50 True

51 print(bool(''))

52 False

3.  str 字符串详解

字符串切片

1 name = 'mieet'

2 'mieet' #(下标)索引

3 01234 #从左往右

4 -5-4-3-2-1 #从右往左

5 [起始位置:终止位置:步长](方向,不写的时候默认是1)

6 顾头不顾尾 不写步长或者步长为正数从左到右

7

8 print(name[0])

9 结果

10 m

11

12 print(name[0:3])

13 结果

14 mie

15

16 步长为负数则从右到左取值

17 print(name[-1:-4:-1])

18 结果

19 tee

回文的补充

1 # 判断一句话是否是回文

2 s = "黄山落叶松叶落山黄"

3 s2 = s[::-1] #翻过来

4 if s == s2:

5 print("是回文")

6 else:

6 print("不是回文")

len()    #取字符串的总长度

1 name = "abcd"

2 s = len(name)

3 print(s) #打印是abcd的总长度是4个字符.

4

5 name = 'abcd'

6 cont = 0

7 while cont < len(name):

8 print(name[cont])

9 cont += 1 #打印结果是name的内容,内容可以随便加是灵活的.

.split()   #分割

1 用法

2 变量名.split("分割符",分割的次数)

4 默认根据空格分割,将分割后的字符串转换成列表

5 name = 'taishan_admin'

6 s8 = name.split("i") #是以 i 用来分割的

7 print(s8)

8 结果

9 ['ta', 'shan_adm', 'n']

10 # 面试题:通过代码一行把字符串转换成列表

11 s = name.split('i',1)

12 print(s)

13 结果

14 ['ta', 'shan_admin']

15

16 例如:

17 ms = input("输入账号和密码用|分割:")

18 lst = ms.split("|")

19 print(lst)

20 结果

21 输入账号和密码用|分割:bob|123.com

22 ['bob', '123.com']

.strip    #默认去除头尾两边的空格

1 去除首尾空格,默认去除空格和换行符

2 name = '\n test1 shanshan \t'

3 print(name.strip())

4 结果

5 test1 shanshan

6

7 去除首尾两边相同的字符

8 name = 'Admin新新shanshanA'

9 print(name.strip('A'))

10 结果

11 dmin新新shanshan

12

13 去除首尾两边不同的字符

14 name = 'AdminA新新BshanshanB'

15 print(name.strip('A,B',))

16 结果

17 dminA新新shsnshan

18

19 应用场景:

20 user = input("请输入用户名:").strip()

21 pwd = input("请输入密码:").strip()

22

23 if user == 'taishan' and pwd == 'cot3714':

24 print('可以取钱了')

25 else:

26 print('不能取钱')

.upper()    #全部大写(建议用大写,用户输入纯数字验证码等情景可用)

1 name = 'Admin新新shanshan'

2 s= name.upper()

3 print(s)

4 结果

5 ADMIN新新SHANSHAN

.lower()    #全部小写(对欧洲特殊文字不识别)

1 name = ADMIN新新SHANSHAN

2 s1 = name.lower()

3 print(s1)

4 结果

5 admin新新shanshan

应用场景

1 yzm = 'o98K' #定义验证码

2 y_zm = input("输入验证码(o98K)") #输入验证码

3 if yzm.upper() == y_zm.upper():

4 if O98K == O98K

5 print('验证码正确')

6 else:

7 print("验证码错误")

.find('m')    #查找索引位置,存在就返回索引,不存在的就返回-1

1 用法

2 变量名.find('要查找的字符',起始位置,结束位置)

3 name = 'tishan_abcid'

4 s = name.find('i')

5 print(s)

6 结果

7 1

8

9 s = name.find('i', 2) #用来分割的i字符,位置必须在name变量的第二个的位置.

10 print(s)

11 结果

12 10

.count    #计数

1 用法

2 变量名.count('要统计的字符',起始位置,结束位置)

3 name = 'taishan_baibai'

4 s2 = name.count('a') #莫一个的字符用来统计在name变量里有多少个字符.

5 print(s2)

6 结果

7 4

8 从索引位置3开始向后统计

9 s2 = name.count('n',3)

10 print(s2)

11 结果

12 3

" ".join(lst)    #指定字符拼接

1 #用代码一行把列表转换成字符串

2 lst = ['bob','jack','jray']

3 s = '_'.join(lst)

4 print(s)

5 结果(把列表转换成字符串)

6 bob_jack_jray

7

8 #用迭代的方式进行的拼接

9 print('*'.join('贝克汉姆'))

10 结果

11 贝*克*汉*姆

12

13 #切割的结果是列表

14 s = 'bob_jack_jray'

15 print(s.split('_'))

16 结果

17 ['bob', 'jack', 'jray']

.replace(' ', ' ')    #替换,第一个是要被替换的内容,第二个是要什么替换

1 用法

2 变量名.replace('替换前的内容','替换后的内容','替换几个(默认全部替换)')

3 默认替换所有指定的字符

4 name = ' a d m i n '

5 s = name.replace(' ','')

6 print(s)

7 结果

8 admin

9

10 可以根据需要指定替换的次数

11 name = 'taishan_admin '

12 s = name.replace('i','H',1)

13 print(s)

14 结果

15 taHshan_admin

.startswith()    #以什么开头  获取的结果是布尔值

1 name = 'shasshan'

2 s = name.startswith('w')

3 print(s)

4 打印结果是False

.endswith()    #以什么结尾

1 s1 = name.endswith('n')

2 print(s1)

3 打印结果是True

.format()    #格式化

1 name = '小明{}小{}{}'

2 s = name.format('是个','程序','员') #按照占位的顺序来填充

3 print(s) #小明是个小程序员

4 name = '小明{0}小{2}{1}'

5 s = name.format('是个','程序','员') #按照索引来对应填充

7 name = '小明{a}小{b}{c}'

8 s1 = name.format(a='是个',b='程序',c='员') #按照关键字对应填充

9 pirnt(s1) #小明是个小程序员

.title()    #每个单词首字母大写 特殊符号来隔开

1 name = 'taibai admin&shanshan'

2 s = name.title()

3 print(s)

4 # 只要有特殊字符隔开才能分别认为是多个单词(中文也是特殊字符)

.capitalize()    #首字母大写

1 name = 'taishan新新baibai'

2 s = name.capitalize()

3 print(s) #打印结果 Taishanshan新新baibai

is系列

1 变量名.title() #每个单词首字母大写(标题)特殊符号来隔开

2 变量名.isalnum() #判断是不是数字和字母True/False

3 变量名.isalpha() #判断是不是纯字母True/False

4 变量名.isdigit() #判断是不是纯数字True/False

5 变量名.islower() #判断是否是小写字母

6 变量名.isupper() #判断是否是大写字母

7 变量名.islower() #判断是否是小写字母

8 变量名.isupper() #判断是否是大写字母

9

10 #判断输入随机字符中的大写小写数字特殊符号

11 st = input('请随便输入:').strip()

12 num = 0

13 low = 0

14 upper = 0

15 other = 0

16 for i in st:

17 if i.isdigit():

18 num += 1

19 elif i.islower():

20 low += 1

21 elif i.isupper():

22 upper += 1

23 else:

24 other += 1

25 print('大写字母%s,小写字母%s,数字%s,其它字符%s'%(upper,low,num,other))

.center    #居中  第一个放数字(代表长度),第二个放的是要填充内容

1 name = ''shashna'

2 s7 = name.center(20,"*")

3 print(s7)

.swapcase()    #字符串大小写转换(大写转小写,小写转大写)

1 name = 'LiNux'

2 new_name = name.swapcase()

3 print(new_name) #打印结果 lInUX

for 循环(遍历)

1 格式:

2 for i变量名 in 关键字,可迭代对象 (除了数字都可以迭代,因为数字不可迭代):

3 代码块

4 注意: for循环是有限循环 限制范围取决与我们的迭代对象的长度

5 格式:

6 for 变量 in 可迭代对象:

7   循环体(break, continue)

8 for else: 用法与while else相同

方法二

1 for i in name:

2 print(i)

1 for in in name:

2   print(i)

3    if i == 's':

4    break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值