a = input('请输入您的姓名:\n')
# input表示键盘输入,程序将一直等待键盘输入,input可以添加提示信息。 变量是 字符串类型。
# \n ------ 换行
print(a)
--------------------------------------------------------------------------
name = input('请输入你的姓名: \n')
age = input('请输入你的年龄: \n')
print('您的姓名是:',name,'年龄是:',age,'岁') # >>>>>>>>>>>>>>>> print 多个变量时,系统默认添加一个 空格
print('您的姓名是:'+name,'年龄是:'+age+'岁') # >>>>>>>>>>> 用字符串拼接的方式,去除 默认的空格
常用的格式符号:%[(name)][flags][width].[precision]typecode
name,age = '张松会死',20
dict1 = {'name':'张松会死','age':20,}
print('%s的年龄是%d' %(name,age))
print('%s的年龄是%s' %(name,age))
print('%s的年龄是%f' %(name,age)) #默认6位
print('%s的年龄是%.f' %(name,age)) #没有小数
print('%s的年龄是%.2f' %(name,age)) #两位小数
print('%20s的年龄是%.f' %(name,age)) 空出20个字符
print('%.2s的年龄是%.f' %(name,age)) 取几个字符(注意中文字符与字节的区别)
print('%(name)s的年龄是%(age).f' %dict1) # 利用 字典 的 key 进行 字典 传值
列表不能用%s 格式化内部元素
list1 = ['can add post','can delete post','can ban user']
print('管理员的权限为: %()s %()s %()s' %(list1))
print('管理员的权限为: %s %s %s' %(*list1)) 两种情况均会报错。可以用 str.format 的方式
字典可以用%s格式化内部元素(key必须是字符串类型),不可用**dict的方式
dict1 = {'1':'can add post',
'2':'can delete post',
'3':'can ban user',
}
print('管理员的权限为: %(1)s %(2)s %(3)s' %dict1) # 管理员的权限为: can add post can delete post can ban user
print('管理员的权限为: %(1)s %(1)s %(3)s' %dict1) # 管理员的权限为: can add post can add post can ban user
print 时间等一系列格式输出:
print('%d-%d-%s %d:%d:%d' %(2018,11,'02',11,43,50))
结果:
通过位置
time1 = '{}--{}--{} {}::{}::{}'.format(2018,11,'02',11,43,50)
print(time1)
time1 = '{4}--{5}--{3} {3}::{1}::{0}'.format(2018,11,'02',11,43,50) #format 可以添加索引
print(time1)
列表传值 *args
list1 = ['can add post','can delete post','can ban user']
print('管理员的权限为: “{}”、“{}”、“{}”'.format(*list1)) 一定要加 * # 结果: 管理员的权限为: “can add post”、“can delete post”、“can ban user”
通过关键字
print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字
2 grade = {'name' : '陈某某', 'fenshu': '59'}
3 print('{name}电工考了{fenshu}'.format(**grade))#通过关键字,可用字典当关键字传入值时,在字典前加**即可
更多: https://www.cnblogs.com/chunlaipiupiupiu/p/7978669.html
优点:不限定 列表的长度
实例:https://blog.csdn.net/qq_16555103/article/details/83685961 ------- 第一节
a = '1234a6789'
print(a[1])
print(a[2:5]) 区间为 前闭后开 的区间 (相当于步长为1的切片)
求可迭代对象的长度,也可以计算 列表 元组 的元素个数
a = '123abc'
b = [1,2,3,'a']
print(len(a),len(b)) #列表是元素个数,字符串是字符个数
a, b, c, d = '我们','是','中国人','20'
print('我们'+'是'+'中国人'+'20') #数字需要是字符串格式
print(a+b+c+d)
print("abc")
print("abc"*10)
end= 也可以 填充其他的字符,默认是换行(\n)。
print('a','b','c') ------- 输出多个字符串或变量时,系统默认用 空格 拼接,即结果:a b c
print('a'+'b'+'c') ------- 结果: abc
===========================================================================================
print('a') ---------- print 默认有一个换行符,即end='\n'
print('b')
print('c')
======================================== 注意上下区别
print('a',end='')
print('b',end='')
print('c',)
系统函数,强制转化为字符串。
注意:print 字符串去掉引号;list 变量外面多了 ' ',变成了 str 类型 ,str() 转化后需要用系统函数 eval()
来提取字符串中的数据。 。
要求,求出任一数字的百、十、个位
num_str = str(345678)
print(int(num_str[-3:])) ------ 利用字符串切片切开后转化为数字
a = 'abcdefghijkl'
print(a[2:9])
print(a[2:9:2]) ------------ 步长为 2
print(a[5:2:-2]) ------------ 倒着取值
print(a[2:]) ------------ 不写值取值到末尾
print(::) ------------ 选中所有,步长为 1
print(::2) ------------ 选中所有,步长为 2
print(a[2:-1]) ------------ -1 表示倒数第一个值,前闭后开,因此取不到最后一
print(a[-5:]) ------------ 取任意字符串后五位字符
str1 = input("请输入任意长度的字符串:\n")
str_reverse = str1[::-1] --------------- 将字符串翻转,类似list中的 .reverse() 方法
print(str_reverse) --------------- 例: 输入 abcde 输出 edcba
语法:str.func()
特点: 都是 返回索引值 ,它们只能查找 第一个 匹配元素的索引值
print("hello world lo".find('lo')) # 只会查找第一个,返回索引值,没有返回 -1
# 答案 3
print("hello world lo".index('lo')) # 只会查找第一个,返回索引值,没有 报错
# 答案 3
特点:有三个参数
a = 'abcdkoidkljjkcddddddddddd'
print(a.count('d'))
# 答案 13
print(a.count('d',0,len(a))) #三个参数,后两个参数是 索引范围(前闭后开)
# 答案 13
print(a.count('d',0,len(a)-3))
有三个参数
a = 'hello world hello'
print(a.replace('hello','HELLO')) # 把xxx替换为XXX(前————后)
print(a.replace('hello','HELLO',1)) # 三个参数,最后一个参数为 count
实例:
str1 = 'hello world beijing!'
print(str1.split(' ')) #用空格(1个)分割,单个元素,不包含该分隔符本身
str2 = 'hello world beijing!'
print(str2.split(' ')) #用空格(1个)分割,单个元素,分割符之间空集也可以做一个元素
str3 = 'hello world beijing!'
print(str3.split('l'))
print(str3.split('l',2)) # count 可以控制分割次数
print(str3.split('')) # 空集分隔符 报错
结果:
实例:
注意: 返回值是bool值,可以用于 if /while 判断语句当中。
默认填充空格,也填充其他字符
str_01 = 'abc'
print(str_01.ljust(10))
print(str_01.ljust(10,'*')) # just函数可以加 其他字符(类似 end =“”),默认空格
print(str_01.rjust(10))
print(str_01.rjust(10,'*'))
print(str_01.center(10))
print(str_01.center(10,'*'))
默认删除空格,也删除其他字符
str.join(iterable) ,本质是for循环str拼接,对象必须是可迭代的,得到的结果是字符串。
str 》》list 用list()系统函数
list》》》str ①list元素全是str时,用str.join(),其中str为 '' 。
②list元素不全是str时,用for循环拼接 。
print('_'.join('abcd'))
print('_'.join(['4','a']))
print('_'.join([1,2,3,'4','a'])) # 结果报错 ,因为列表中有不是str的元素。
isdecimal 判断是否只包含数字,与isdigit 区别是,不能判断特殊字符,例如:①。
num = '①'
print(num.isdigit())
print(num.isdecimal())
True
False
=================================================================================
# 题目: 判断字符串中 空格,字母,数字的个数
str1 = ' ahh hhj jjjjn38 893 777 0 jj '
num_alpha,num_digit,num_space = 0,0,0
for i in str1:
if i.isspace():
num_space += 1
elif i.isdigit():
num_digit += 1
elif i.isalpha():
num_alpha += 1
print("字母数量:%d 数字数量:%d 空格数量:%d" %(num_alpha,num_digit,num_space))
str1 = 'jklcknnlkmakkmmmlk'
print('a' in str1) # 用于条件语句 ,结果为 bool 值 。