------------ info of 张三 ----------- Name : 张三 Age : 22 job : IT ------------- end -----------------
name = input("Name:") age = input("Age:") job = input("Job:") msg = ''' ------------ info of %s --------------- # %s表明一个占位符 Name : %s #表明name Age : %s #表明age Job : %s #表明job ------------- end ----------------- ''' % (name,name,age,job) # % 号把前面的字符串与后面变量关联起来 print(msg)
注:%s字符串的占位 %d 数字的占位 %f 浮点数 字符串 %(数据)python
name = input("Name:") age = input("Age:") job = input("Job:") msg = ''' ------------ msg of %s ----------- Name : {name} Age : {age} Job : {job} ------------- end ----------------- ''' print(msg)
注:必须是python3.5以上版本才能够使用app
int(str) #字符串转换成int str(int) #int转换成字符串函数
and 而且, 左右两端同时为真, 结果才能是真.
or 或者, 左右两端有一个是真, 结果就是真
not 非, 非真即假, 非假即真
优先级: () > not > and > orspa
a=10,b=20code
in 是否在xxx里面
content = input("请输入你的评论") if "张三" in content or '李四' in content: print('你输入的内容不合法') else: print("评论成功")
not in 是否不在xxx里面
在python3中全部的整数都是int类型,但在python2中若是数据量比较大,会使用long类型,在python3中不存在long类型对象
字符串是不可变的对象, 因此任何操做对原字符串是不会有任何影响的blog
在python中,凡是用引号引发来的数据都是字符串 单引号,双引号,三引号引发来没有任何区别 name = '张三' name = "张三" name = '''张三'''
索引:索引就是下标,下标从0开始索引
s = "hello" # 从索引0开始取完字符串中每个字符 print(s[0]) print(s[1]) print(s[2]) print(s[3]) print(s[4])
切片:ip
字符串[start:end] 从start到end拿到数据 ,end取不到
字符串[start:end:step] 从start到end拿数据,每step个拿出来一个rem
step: + 左到右 - 右到左
s = "Java,Python,Php,C++" print(s[2:11:2]) #从第二个开始取,取到11,每两个取一个 print(s[:4]) # Java 从开始切 print(s[4:]) # 从4切到结束 print(s[:]) # 从头切到尾
upper() 转化成大写. 在忽略大小写的时候
###用户名密码登陆应用场景### verify_code = "Axbn" uv_code = input(f"请输入验证码{verify_code}:") if verify_code.upper() == uv_code.upper(): # 忽略大小写 print("验证码正确") else: print("验证码错误")
strip() 默认去掉左右两端的空白
###用户输入密码应用场景### uname = input("请输入用户名:").strip() # 用户输入的内容必定要过滤掉左右两边的空白 upwd = input("请输入密码:").strip() if uname == "alex" and upwd == "123": print("登陆成功") else: print("登陆失败")
replace() 字符串的替换
msg = input("请输入你的信息:") if "黄赌毒" in msg: msg = msg.replace("黄赌毒", "***") print(msg)
split() 字符串切割, 结果是列表
s = "Hello Word Im superman" res = s.split() # 默认用空白切割 print(res)
startswith() 判断是否以xxx开头
s = "alex 特别喜欢他的特斯拉" print(s.startswith("alex")) # 判断是否以alex开头 print(s.endswith("特斯拉")) # 判断是否以特斯拉结尾
find() 查找字符串中xxx字符的位置. 若是找不到返回-1
s = "Hello Word" print(s.find("z")) # 返回索引, 若是没有, 返回-1
len() 内置函数,字符串长度
s = "Hello Word" print(len(s)) # len叫内置函数.和print同样
bool=>int int(bool) True是1, False是0 str => bool bool(str) 空字符串串是False, 不空是True bool => str str(bool) 把bool值转换成相应的"值"
和字符串差很少. 也具备索引和切片
append() 追加,添加在列表的末尾
l = ["张三", "李四"] l.append("刘能") print(l) #列表是能够发生改变的
insert() 插入,在xxxx位置插入一个元素
l = ["张三", "李四"] l.insert(1, "王五") #在索引1前面,也就是李四前面插入"王五" print(l)
extend() 迭代新增,合并列表
l = ["张三", "李四"] s1 = ["王五","赵六"] l.extend(s1) print(l)
pop() 删除,指定索引删除,默认删除最后一个
l = ["张三", "李四","王五","赵六"] l.pop() print(l)
remove() 删除某个指定元素
del list[3]
clear() 清空列表
count() 计数
l = ["abc", "李四","王五","赵六"] #把ABC变大写 l[0] = l[0].upper() print(l)
lst = ["abc", "李四","王五","赵六"] for n in lst: print(n)
例题:让用户输入一个加法运算: 3+8+4+6+9 想办法完成数学运算
s = input("请输入一个加法运算:") lst = s.split("+") print(lst) sum = 0 # 开始循环 for item in lst: sum += int(item) print(sum)
适用场景:放一些不进行修改的数据,元组用()表示,空元组必须用tuple()来建立
注: 若是元组只有一个元素. 必须在末尾添加一个逗号
注:key不能够重复,value没有要求,而且要求key必须可哈希-> 不可变(int, str, tuple, bool, float)
直接用新key添加
dic = {} # 空字典 dict() dic["1"] = "张三" dic["2"] = "李四" dic["1"] = "王五" # key 不能够重复. 会把数据覆盖掉
setdefault(key, value) 若是key存在, 不新增. 不存在, 新增. 最后都查询
dic = {} # 空字典 dict() dic["1"] = "张三" dic["2"] = "李四" dic.setdefault("1","赵六") dic.setdefault("3","赵六") print(dic)
1. pop(key) #指定key删除
2. popitem() #删除最后一个.
3. del dic[key] #指定key删除
4. clear() #清空字典
dic[老key] = 新value
get(key) #使用key获取value
dic[key] #查询, 若是key不存在. 会报错
循环:
for k in dic:
k
dic[k]
for k, v in dic.items():
print(k)
print(v)
相似dict存储,只放key,可哈希,不可变,不重复,无序 {}能够表示set集合
set() 建立空集合,帮助咱们去除重复
s = set() s.add("张三")
s = set() s.add("张三") s.add("李四") s.remove("张三")
lst = ["张三", "李四", "张三", "李四", '王五'] s = list(set(lst)) print(s)
lst = ["张三", "李四", "张三", "李四", '王五'] new_lst = [] for item in lst: if item not in new_lst: new_lst.append(item) print(new_lst)