day10知识点总结

while循环补充:

  1. continue,终止当前循环,开始下一次循环
  2. break,终止所有循环

pycharm 技巧1、setting 中搜索 mouse 设置鼠标滚轮 改变字体大小

  • 运算符

  1. + - * / %(取余) //(取整)
  2. in  not in
 name = '熊大'
if "熊" in name:
print('in')
else:
print('not in') if '小' not in name:
print('not in')
else:
print('in')

1、算数运算:

2、比较运算:

3、赋值运算:

4、逻辑运算:

5、成员运算:

结果是值:

  算数运算:  a = 10 * 10

  赋值运算:  a = a + 1  a+=1

结果是布尔值:

  比较运算:  a = 1 > 5

  逻辑运算:  a = 1 >6 or 1 == 1

  成员运算:  a = “熊” in “熊大”

  • 数字

      1.   age = 5  r = age.bit_length()  print(r)-->3

#1  1

#2  10

#3  11

#4  100

#5  101

#当前数字的二进制,至少用n位表示

          2.  -int  将字符串转换为数字

a = “123”

print(type(a),a)-->str,123

b = int(a)

print(type(b),b)-->int,123

  • 字符串

 test = 'aLexalextXioNg'
#首字母大写 其他小写
v = test.capitalize()
print(v)
#所有小写
v = test.casefold()
print(v)
#将字符居中 空出来的地方填补空格(默认)或特殊字符
ss = 'xiong'
s = ss.center(20,'$')
print(s) test = 'aLexalexatXioNxg'
#统计字符出现次数
v1 = test.count('x')
v2 = test.count('xa')
print(v1)
print(v2)
 #endswith以**为结尾,startswith以**为开头
test = 'aLexalextXioNg'
v1 = test.endswith('g')
v2 = test.endswith('ng')
v3 = test.startswith('a')
v4 = test.startswith('aL')
print(v1,v2,v3,v4)
 #find 从后往前找,找到第一个之后 就不再往下找了
#给定的范围是>= < 即 【)左闭右开区间
test = 'aLexalextXioNg'
v = test.find('ex')
print(v) --->2
6 #index() 也是查找字符 未找到时报错(find未找到时返回-1)
 #format 格式化,将一个字符串中的占位符替换为指定的值
test = 'i am {name},age is {a}'
3 print(test) --->i am {name},age is {a}
4 v = test.format(name='xiong',a = 25)
5 print(v) --->i am xiong,age is 25 6 test = 'i am {1},age is {0}'
7 v = test.format('xiong',25)
8 print(v)  --->i am xiong,age is 25
#format_map()
9 test = 'i am {name},age is {a}'
10 v2 = test.format({'name':'xiong','a':25})
 #判断字符串中是否只包含 数字和字母
test1 = "xiong123ajldkgjopqg_+"
v = test1.isalnum()
print(v)  --->false
test2 = "xiong123ajldkgjopqg"
v = test2.isalnum()
print(v)  --->true
#expandtabs,以*个字符断句,有\t \n 的直接断
test = "username\temail\tpassword\nxiong\txiong@qq.com\t123456\nxiaowang\txiaowang@qq.com\t987654\nxiaozhang\txiaozhang@qq.com\t654321" v = test.expandtabs(20)
print(v) """
username email password
xiong xiong@qq.com 123456
xiaowang xiaowang@qq.com 987654
xiaozhang xiaozhang@qq.com 654321
"""
 #isdecimal()  isdigit() 判断字符串是否是数字
test = "②"
v1 = test.isdecimal()
v2 = test.isdigit()
test = ""
v3 = test.isdecimal()
v4 = test.isdigit()
print(v1,v2,v3,v4)  --->False True True True
9 test = "二”
10 v5 = test.isnumeric()
11 print(v5)  --->True
 #isprintable()  是否存在不可显示的字符
#\t 制表符 \n 换行符
test = "qpoueriojkla\t4521adfs"
v = test.isprintable()
print(v) --->False
## join()将字符串中的每一个元素安装指定分隔符进行拼接
test = "你是风儿我是沙"
print(test)
t = ' '
v1 = t.join(test)
v2 = "_".join(test)
print(v1,'\t',v2) """
你是风儿我是沙
你 是 风 儿 我 是 沙 你_是_风_儿_我_是_沙
"""
 #判断是否全部是大小写 和转换为大小写
test = "Alex"
v1 = test.islower()
v2 = test.lower()
print(v1,v2) v3 = test.isupper()
v4 = test.upper()
print(v3,v4) #--->False alex False ALEX #去掉字符串 空格、\t、\n
#去掉指定字符
test1 = " alex "
v1 = test1.lstrip()
v2 = test1.rstrip()
v3 = test1.strip()
print(v1)
print(v2)
print(v3)
test2 = "xalex"
v4 = test2.lstrip('xa')
print(v4) #--->lex test3 = "96x0alexexa"
v5 = test3.strip('lexxa')
print(v5) #--->96x0
####################字符串中常用11个魔法#######################
#join
#split
#find
# strip
# upper
# lower
# replace
###灰魔法###
# len()
# for循环
# 索引
# 切片
###深灰魔法###
字符串一旦创建就不可修改
 """day11作业题"""
#1、执行python脚本的两种方式
1)python解释器
2)dos命令行 python 1.py
3)Linux下 用 。/1.py #2、简述位、字节的关系
8位是一个字节,计算机是以字节为单位 存储时是以位为单位 # 3、简述ascii、Unicode、utf-8、gbk的关系
# 4、请写出“李杰”分别用 utf-8 和 gbk 编码所占的位数
utf-8 是6个字节 gbk是4个
pyhton3:
len("理解") ---》2
for item in "理解":
print(item) ---》理 解
python2:
len("理解") ---》6
for item in "理解":
print(item) ---》6个乱码字节 # 5、Pyhton 单行注释和多行注释分别用什么?
单行注释: #
多行注释: """ """ # 6、声明变量注意事项有那些?
# 7、如有变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
bit_length()
# 8、布尔值分别有什么?
True False
"" --->空字符串是假
" " --->空格字符是真
0 --->假
其他 --->真 # 10、写代码,有如下变量,请按照要求实现每个功能    
#     name  =  "  aleX"
#     a.  移除 name 变量对应的值两边的空格,并输入移除后的内容 #name.strip()
#     b.  判断 name 变量对应的值是否以  "al"  开头,并输出结果 #endswith以**为结尾,startswith以**为开头
#     c.  判断 name 变量对应的值是否以  "X"  结尾,并输出结果
#     d.  将 name 变量对应的值中的  “l”  替换为  “p”,并输出结果 #name.replace('l','p')
#     e.  将 name 变量对应的值根据  “l”  分割,并输出结果。 #name.split('l')       
#     f.  请问,上一题 e 分割之后得到值是什么类型(可选)? #分隔后是列表['a','eX']
#     g.  将 name 变量对应的值变大写,并输出结果 #name.upper()
#     h.  将 name 变量对应的值变小写,并输出结果 #name.lower()
#     i.  请输出 name 变量对应的值的第 2 个字符? #name[2]
#     j.  请输出 name 变量对应的值的前 3 个字符? #name[0:3]
#     k.  请输出 name 变量对应的值的后 2 个字符? #name[-2:-1]
#     l.  请输出 name 变量对应的值中“e”所在索引位置? #name.find('e')
#     m.  获取子序列,仅不包含最后一个字符。如:oldboy 则获取oldbo;root则获取roo #"root"[:-1] # 11、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
for item in "北京欢迎你":
print(item) # 12、请用代码实现:
#a. 利用下划线将列表的每一个元素拼接成字符串,li ="alexericrain"
#b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex','eric','rain'](可选)
li = ['alex','eric','rain']
new = "_".join(li)
print(new) #--->alex_eric_rain
print("_".join("alexericrain")) #--->a_l_e_x_e_r_i_c_r_a_i_n # 13、Python2 中的 range 和 Python3 中的 range 的区别?
# pyhton2 的range直接创建放在内存中,xrange要for循环一个一个去创建
# python3要for循环一个一个去创建 # 24、实现一个整数加法计算器:
# 如:content=input('请输入内容:')    # 如:5+9  或  5+  9  或  5  +  9  
# 25、计算用户输入的内容中有几个十进制小数?几个字母?
# 如:content=input('请输入内容:')    # 如:asduiaf878123jkjsfd-­‐213928 # 27、制作趣味模板程序
# 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实      
#   如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
useript_name = input(">>>")
useript_place = input(">>>")
useript_thing = input(">>>")
print("敬爱可亲的{},最喜欢在{} 干{}".format(useript_name,useript_place,useript_thing)) # 29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
#     如  "苍老师"  "东京热",则将内容替换为  *** # 30、制作表格  
# 循环提示用户输入:用户名、密码、邮箱  (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
# 如果用户输入  q 或 Q  表示不再继续输入,将用户输入的内容以表格形式大隐
s = ""
while True:
name = input(">>>")
passwd = input(">>>")
emails = input(">>>")
template = "{0}\t{1}\t{2}\n"
v = template.format(name,passwd,emails)
s = s + v if(name == 'Q' or passwd == 'Q' or emails == 'Q'):
break print(s.expandtabs(20))
 

python全栈开发day10的更多相关文章

  1. python全栈开发-Day10 装饰器(闭合函数的应用场)

    一. 装饰器 装饰器就是闭包函数的一种应用场景 什么是闭包函数?我们再来回忆一下: 闭包函数: 定义在函数内部的函数,并且该函数包含对外部函数作用域(强调:对全局作用域名字的引用不算闭包)名字的引用, ...

  2. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  3. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  4. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  5. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  6. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  7. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  8. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

  9. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

随机推荐

  1. Mac 抓包工具wireshark使用

    共四部分 1.wireshark简介 2.wireshark mac版安装 3.wireshark 抓取普通http 4.高级应用 1.wireshark 简介(百度百科) Wireshark(前称E ...

  2. java+Quartz实现定时任务

    1.首先:导入quartz相关的jar包,这里我用的是maven构建的项目,pom.xml文件导入如下: <dependency> <groupId>org.quartz-sc ...

  3. 【转】在xcode5中修改整个项目名

    本文转载自:http://www.cnblogs.com/tbfirstone/p/3601541.html 总会遇到几个项目,在做到一半的时候被要求改项目名,网上找了下相关的资料,大多数是xcode ...

  4. 《精通Python网络爬虫》

    抓包工具 Fiddler 爬虫的浏览器伪装技术 Python Scrapy 框架

  5. Polygon Offset

    https://www.cnblogs.com/bitzhuwei/p/polygon-offset-for-stitching-andz-fighting.html 一个大于0的offset 会把模 ...

  6. vim.sh

    #!/bin/bash #https://github.com/txthinking mkdir /tmp/_ curl https://raw.githubusercontent.com/txthi ...

  7. PHP利用ImageMagick把PDF转成PNG

    http://blog.csdn.net/longaction2012/article/details/12257867

  8. Using Information Fragments to Answer the Questions Developers Ask

    content : 1.采访了11个开发者,获得78个常问的问题:2.对78个问题进行分类,分为8类:These questions span eight domains of information ...

  9. js - 移动端的超出滚动功能,附带滚动条,可解决弹层中滚动穿透问题。

    背景: 弹层里边有可滚动区域时,在移动端的坑我就不多说了. 找了很多解决滚动穿透的方案,最终都不能完美解决. 一气之下自己js撸了一个. 效果图: 原理: 1.解决滚动穿透:通过给弹层绑定touchm ...

  10. Tiobe最新编程语言排行

    https://www.tiobe.com/tiobe-index/