Python Day 3 基础数据类型(基础数据类型初识,str解析及常用方法,格式化输出format,for循环)

Python Day 3

基础数据类型初始

int: 用于计算 

  python中数字有四种类型:整数、布尔型、浮点数和复数。

  • int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
  • bool (布尔), 如 True。
  • float (浮点数), 如 1.23、3E-2
  • complex (复数), 如 1 + 2j、 1.1 + 2.2j
1,2,3,4

str:存储少量数据,以unicode编码,不能传输和存储

'eailoo'

"eailoo"

"""
床前明月光,
疑是地上霜。
"""

bytes:与str相似,方法通用。

 

bool:True False(使用解释器返回给计算机做判断)

print(type(True))
print(type(False))
<class 'bool'>

list:存储各种数据类型的数据,大量的数据,便于操作.

["张三", 20 ,["True","false"],{'name':'李四'} ]

tuple: ()只读列表。

("张三", "李四",1,2) 

dict: 存储大量数据,关系型数据。

dict = {
    'name' = '张三',
    'age' = 20,
    'job' = student,
}

set:字符集  ????(取交集,差集....)

{'wusir', 'alex', ....}

 

详解(一)

int :   int类型常用操作方法

bit_length()  :十进制转化成二进制的有效位数
num = 1
numwei = num.bit_length()
print(numwei)

====
1

bool:

int <---> str :
str ---> int  int(str) 条件:字符串必须全部由数字组成。
int ---> str  str(int) 

=============
bool <----> int
bool ----> int True ---> 1  False ---> 0
int ----> bool 非零即为True,零 False

=============
bool <---> str
bool ---> str str(True) str(False)
str ---> bool 非空即为 True  ''空字符串 --> False

str:索引,切片,步长,字符串的常用操作方法

索引:字符串中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python访问子字符串,可以使用方括号来截取字符串

s = 'python12期'
#p
s1 = s[0]
print(s1)

===============================
s = 'python12期'
#
s2 = s[-1]
print(s2)

切片:顾头不顾腚 (从开头位置取,到标志前一位停止) 。

:冒号代表省略,起始索引为0时可省略不写0,

s = 'python12期'
#py
s2 = s[0:2]
print(s2)
===============================
s = 'python12期'
#python12期
s2 = s[:]
print(s2)
===============================
s = 'python12期' #省略典型
#n12期
s2 = s[5:]
print(s2)
===============================
s = 'python12期' #省略典型
#pytho
s2 = s[:5]
print(s2)
===============================
s = 'python12期' #顾头不顾腚典型
#python12
s2 = s[:-1]
print(s2)
===============================
s = 'python12期' #正向尾部取值,头部在左
#n1
s2 = s[-4:-2]
print(s2)
===============================
s = 'python12期' #反向尾部取值,此时头部在右侧
#21
s2 = s[-2:-4:-1]
print(s2)

步长:取有规律步长的内容,默认步长为1。

步长为正数时内容从左往右,步长为负数时内容从右向左

s = 'python12期'  #从索引0开始,步长为2
#pto1期
s2 = s[::2]
print(s2)

 字符串常用操作方法

** capitalize 格式化内容:首字母大写,其他字母小写。

1 s = 'laoNanhai'
2 s1 = s.capitalize()
3 print(s1)
capitalize()

* center 格式化内容居中 center(总长度,”填充符“) ,长度必填。

 1 s = 'laoNanhai'
 2 s2 = s.center(20)
 3 print(s2)
 4 
 5      laoNanhai      
 6 
 7 =====================
 8 s = 'laoNanhai'
 9 s2 = s.center(20,"*")
10 print(s2)
11 
12 *****laoNanhai******
center()

*** upper :全大写 lower:全小写 ,常用于验证码,方便比较,用户体验较好。

s = 'laoNanhai'
s2 = s.upper()
print(s2)

LAONANHAI

================
s = 'laoNanhai'
s2 = s.lower()
print(s2)

laonanhai
upper,lower
1 code = 'QwEr'.upper()
2 your_code = input("请输入验证码:").upper()
3 if code == your_code:
4     print("登陆成功")
5 else:
6     print("登陆失败")
验证码

*** startswith :判断内容开头,返回bool值,可以使用切片判断多个字符,使用逗号分隔,不能使用冒号。

 1 s = 'laoNanhai'
 2 s2 = s.startswith('l')
 3 print(s2)
 4 
 5 True
 6 
 7 ===================
 8 s = 'laoNanhai'  #可以判断多个
 9 s2 = s.startswith('lao')
10 print(s2)
11 
12 True
13 ====================
14 s = 'laoNanhai'    #可以通过索引位置判断内容是否存在(敏感字符)
15 s2 = s.startswith('Nan', 3, 8)
16 print(s2)
17 
18 True
startswith()

*** endswith:判读内容结尾,返回bool值,用法同startswith

s = 'laoNanhai'
s2 = s.endswith('hai' , -4,)
print(s2)

True

================
s = 'laoNanhai'   #切片必须为Nan结束
s2 = s.endswith('Nan' , 3, 6)
print(s2)

True
endswith()

* swapcase 大小写翻转

s = 'laoNanhai'
s2 = s.swapcase()
print(s2)

LAOnANHAI
swapcase()

* title() 非字母隔开的每个单词的首字母大写。

ss = 'gdsj wusir6taibai*ritian'
s2 = ss.title()
print(s2)

Gdsj Wusir6Taibai*Ritian
title()

*** 通过元素找到索引。

find():通过元素找索引,可切片,找不到返回-1  ;find 每次只能找到范围内第一次出现的元素索引?

ss = 'gdsj wusir6taibai*ritian'   
s2 = ss.find('a' ,0,)
print(s2)

12
=====================================
find(xxxx)

index: 通过元素找索引,可切片,找不到报错。

 

*** strip() 去除前后端的空格,换行符,制表符。常用语登陆防止误输入空格。 

input('请输入密码').strip()为常用格式。
ss = '\talex\n'
s2 = ss.strip()
print(s2)

alex

=============
ss = '  ablabsexsba'  #strip 从左右两端进行剥离
s2 = ss.strip('a')
print(s2)

  ablabsexsb

=============
ss = '  ablabsexsba' #从自定义的字符串中剥离,直到不存在
s2 = ss.strip('abs')
print(s2)

  ablabsex
strip()

lstrip()  去除左侧空格

rstrip() 去除右侧空格

 

*** split :将字符串分隔转化为列表。 str--->list  默认以空格分隔。拆分个数为分隔符个数+1

s = 'wusir alex taibai'
print(s.split())

['wusir', 'alex', 'taibai']
===========================
st = 'wusir,alex,taibai'
print(st.split(','))
['wusir', 'alex', 'taibai']
===========================
st1 = 'QwusirQalexQtaibai'
print(st1.split('Q'))
['', 'wusir', 'alex', 'taibai']
split()

*** join :  字符串拼接,列表转化成字符串(列表中的元素必须全部是字符串类型)

s = 'alex'
s11 = '+'.join(s)

a+l+e+x

==================
l = ['wusir', 'alex', 'taibai']   #列表转换成字符串

s111 = ' '.join(l)
print(s111,type(s111))

wusir alex taibai <class 'str'>
join()

*** replace :替换  默认全部替换 replace('old','new',个数)

s = '小粉嫩小粉嫩ghlasdfg小粉嫩'
s12 = s.replace('小粉嫩', '大铁锤')
print(s12)

大铁锤大铁锤ghlasdfg大铁锤
=======================

s = '小粉嫩小粉嫩ghlasdfg小粉嫩'
s123 = s.replace('小粉嫩', '大铁锤',2)
print(s123)

大铁锤大铁锤ghlasdfg小粉嫩
replace()

公共方法:

len() 总个数

s = 'fdsajlskgjdsaf;jdskfsdaf'
print(len(s))

count() 元素出现个数,可切片

s = 'fdsajlskgjdsaf;jdskfsdaf'
print(s.count('f'))

4

format() 格式化输出

三种方式: 占位换,索引换,和字典换
1,花括号功能等同于 % 占位功能
msg = '我叫{},今年{},爱好{}'.format('太白', '20', 'girl')
print(msg)

#2,索引方式,重复使用 ,相对与%格式化输出优点
msg = '我叫{0},今年{1},爱好{2},我依然叫{0}'.format('太白', '20', 'girl')
print(msg)

3,key value字典方式,不区分位置。
msg = '我叫{name},今年{age},爱好{hobby}'.\
    format(name='太白', hobby='girl', age='20')
print(msg)

isalnum() ,isalpha() isdigit() 判断字符串组成name='jinxin123'

print(name.isalnum()) #字符串由字母或数字组成

print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成

print(name.isspace()) #字符串都是空
print(name.isupper()) #字符串全是小写
print(name.islower()) #字符串全是小写
print(name.istitle()) #字符串首字母大写,以非字母隔开的字母大写


for 循环 (有限循环)
# for 变量 in 可迭代对象:
#   pass

count = 0
while count < len(s):
    print(s[count])
    count += 1

for i in s:
    print(i+'test')

 

chr(x)

将一个整数转换为一个字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

Python转义字符

在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:

转义字符描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
posted @ 2018-04-28 18:40  eailoo  阅读(310)  评论(0)    收藏  举报