python之基础数据类型初识,int,bool,str 转化,for循环

一.总览

1.小知识

  python2在编译安装时,可以通过参数 --enable-unicode=ucs2--enable-unicode=usc4 分别指定使用两个字节,四个字节表示一个Unicode字符;python3无法进行选择,默认使用ucs4

  查看当前python中表示Unicode字符串时占用的空间:

import sys
print(sys.maxunicode)
#如果值是65535,  则表示使用ucs2标准,即:2个字节表示
#如果值是1114111,则表示使用ucs4标准,即:4个字节表示

2. 基础数据类型总览

int:用于计算,计数,运算等。1,2,3...
str:'...' 用户少量数据的存储,便于操作。
bool:True,False,两种状态,机器反馈给用户的对、错
list:[1,'a',True,[],(),{}....]大量的数据,各种数据类型,操作方便。
tuple:(1,'alex',True,(),{}...),只读列表
dict:字典 大量的关联型数据
    {'name':'a','name_list':[b,c,d...],'信息':{'name':'么么','sex':不详}}
set:集合。{} 关系测试

二.int、bool

1.int

查询十进制转化成二进制占用的最小位数 *

i = 4
print(i.bit_length()) 

int —> str str(int) int(str) str转化成int自动去除空字符

2.bool

数据类型之间的转化 *****
int —> bool: 非零即True,零为False, True —> 1 False —> 0
bool <—> str
空字符串 —> bool False,非空即True
bool —> str


#应用
name = input('>>>')
if name:
    print(666)
else:
    print('空')

三.字符串str

1.索引切片步长

#按照索引取值,取出来都是一个字符,形成的字符串
s1 = 'python学习'
s2 = s1[0]
s3 = s1[-2]
print(s2, type(s2))
print(s3, type(s3))

#按切片取值,留首不留尾
s5 = s1[0:4]
s6 = s1[:5]
s7 = s1[4:-1]
s8 = s1[3:]
print(s5, s6, s7, s8)

#按切片加步长
s9 = s1[:5:2]    #加入想取到pto
print(s9)
s10 = s1[1::2]   #从y开始每隔两个取一个
print(s10)
s11 = s1[-1:-5:-1] #如果想倒序取值,需要j加一个反向步长

2.字符串中常见方法

1.capitalize()

首字母大写,其余字母小写***

name = 'mylove'
print(name.capitalize())

2. center()

字符串居中前后填充自定义的字符**

name = 'mylove'
print(name.center(30, '*'))

3. upper() lower()

全大写 全小写 *****

name = 'mylove'
print(name.upper())

应用举例:验证码

username = input('请输入用户名:')
my_code = input('请输入验证码:').upper()
code = 'aaBfa'.upper()
print(my_code, code)
if username == 'alex' and my_code == code:
    print('验证成功')

输入验证时不区分大小写

4.startswith() endswith()

*****

name = 'mylove'
print(name.startswith('my')) #判断是否以'my'为开头
print(name.startswith('l', 2, 4)) #判断是否从2到4开始以'l'为开头
print(name.endswith('i'))   #判断是否以''为结尾

5.swapcase()

大小写翻转**

name = 'mylove'
print(name.swapcase())

6.title()

非字母隔开的每个部分的首字母大写 **

s1 = 'alex wusir*airen99zhufu'
print(s1.title())

7.find()

通过元素找索引,找到第一个元素就返回,没有此元素则返回-1,切片寻找返回的索引还是原始全部的标号*****

name = 'mylove'
print(name.find('m', 1, 5))
print(name.find('l',1, 3))
print(name.find('tt'))

8.index()

通过元素找索引,找到第一个元素就返回,没有此元素则报错*****

name = 'mylove'
print(name.index('q'))

9.strip()

默认去除字符串前后的空格、换行符、制表符*****
lstrip()去掉前面的制表符 rstrip()去掉后面的制表符

name1 = '\t   mylove\n'
name2 = '**aabbb*&'
print(name1.strip())
print(name2.strip('*')) #可以指定字符,从两端开始去除,直到遇到非所指定字符为止
print(name2.strip('*ab'))

举例

username = input('请输入您的用户米:').strip()  #主动去除用户名前后的空格,换行符,制表符,防止用户误输入
if username == 'alex':
    print('登陆成功')

10.split()

将字符串分割成列表 str->list ******
rsplit() 从右往左分割

p1 = 'meme aini mengmengda'
l1 = p1.split() #默认按照空格分割
print(l1)
p2 = 'aa,bb,cc'
print(p2.split(',')) #按照逗号分割

p3 = ' dd cc aa'
print(p3.split()) #默认时split分割不分第一个空格前的空内容 这是个bug
print(p3.split(' '))
p4 = ',dd,dd,dd'
print(p4.split(','))
s5 = 'wsnsqs'
print(s5.split('s',1)) #可以设置分割次数
#rsplit 从右往左分割
print(s5.rsplit('s'))

11.join()

自定制连接符,将可迭代对象的元素连接起来 ******
应用场合:列表转化成字符串

str1 = 'love'
s1 = '*'.join(str1)
print(s1)

12.replace()

替换次数可设 *****

str2 = '你是个好人,你很丑,你没钱。。。'
s1 = str2.replace('你', 'sb', 2)
print(s1)

13.格式化输出 format

#三种方式
#第一种
s1 = '我叫{},今年{},性别{}'.format('灵','20','你猜')
print(s1)
#第二种
s1 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('灵','20','你猜')
print(s1)
#第三种
s1 = '我叫{name},今年{age},性别{sex}'.format(name = '灵',age = '20',sex = '你猜')
print(s1)

14.is系列

name = 'alice250'
print(name.isalnum()) #判断字符串是否由数字或字母组成
print(name.isdigit()) #判断字符串是否由数字组成
print(name.isalpha()) #判断字符串是否由字母组成

15.公共方法

name = 'aliceaa'
print(name.count('a', 1, 6)) #有切片
print(len(name))

四.for循环

  如果对一个数据类型进行循环,或者是一个有限次数的时候,往往要用到for循环
  for循环的次数是和迭代对象的元素个数有关
  for 变量 in iterable(可迭代对象:多个元素组成的可列对象)

s1 = 'afdafsdgasfsdfa'
for i in s1:
    print(i)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值