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)
* 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******
*** upper :全大写 lower:全小写 ,常用于验证码,方便比较,用户体验较好。
s = 'laoNanhai' s2 = s.upper() print(s2) LAONANHAI ================ s = 'laoNanhai' s2 = s.lower() print(s2) laonanhai
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
*** 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
* swapcase 大小写翻转
s = 'laoNanhai' s2 = s.swapcase() print(s2) LAOnANHAI
* title() 非字母隔开的每个单词的首字母大写。
ss = 'gdsj wusir6taibai*ritian' s2 = ss.title() print(s2) Gdsj Wusir6Taibai*Ritian
*** 通过元素找到索引。
find():通过元素找索引,可切片,找不到返回-1 ;find 每次只能找到范围内第一次出现的元素索引?
ss = 'gdsj wusir6taibai*ritian' s2 = ss.find('a' ,0,) print(s2) 12 =====================================
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
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']
*** 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'>
*** replace :替换 默认全部替换 replace('old','new',个数)
s = '小粉嫩小粉嫩ghlasdfg小粉嫩' s12 = s.replace('小粉嫩', '大铁锤') print(s12) 大铁锤大铁锤ghlasdfg大铁锤 ======================= s = '小粉嫩小粉嫩ghlasdfg小粉嫩' s123 = s.replace('小粉嫩', '大铁锤',2) print(s123) 大铁锤大铁锤ghlasdfg小粉嫩
公共方法:
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')
|
将一个整数转换为一个字符 |
|
|
将一个字符转换为它的整数值 |
|
|
将一个整数转换为一个十六进制字符串 |
|
|
将一个整数转换为一个八进制字符串 |
Python转义字符
在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:
| 转义字符 | 描述 |
|---|---|
| \(在行尾时) | 续行符 |
| \\ | 反斜杠符号 |
| \' | 单引号 |
| \" | 双引号 |
| \a | 响铃 |
| \b | 退格(Backspace) |
| \e | 转义 |
| \000 | 空 |
| \n | 换行 |
| \v | 纵向制表符 |
| \t | 横向制表符 |
| \r | 回车 |
| \f | 换页 |
| \oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
| \xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
| \other | 其它的字符以普通格式输出 |

浙公网安备 33010602011771号