Day2-Python

Python第二节

1.运算符

(1)+ - * / **(幂) %(取余)  //(除法取整数)

(2)in 和 not in(判断某个东西是否在某个东西里面,结果为布尔值)

a='小独白'
if ''in a:
    print('yes')
else:
    print('no')

# '小独白'为字符串,小为其子字符串,或者子序列(小白不是其子序列)

#  整体注释的快捷方法:选中区域Ctrl+?

(3)布尔值:True 或 False

b='店小五'
c='' not in b
print(c)

此时输出值为True

not false=true

#<>也表示不等于

比较运算

==

!=

<>

>

<

>=

<=

2.计算规则(推荐使用括号)

  执行顺序:

    从前到后

    如果结果:

        为True 遇到 or 就不继续往前走了 ,直接输出结果为True,遇到and就继续走下去

        为False遇到or就继续往前走,如果遇到and就不走了,输出结果为False

3.赋值运算

a=a+1 等同于 a += 1

a=a-1 等同于 a -= 1

a=a*1 等同于 a*=1

a=a/1 等同于 a/=1

a=a//1 等同于 a//=1

a=a%1 等同于 a%=1

4.总结:分为两类,一种为值(算数运算,赋值运算),一种为布尔值(比较、逻辑、成员运算)

(1)算数运算:

 

(2)比较运算:

 

(3)赋值运算:

(4)逻辑运算:

 

(5)成员运算:

 

5.基本数据类型

(1)数字

(2)字符串

(3)布尔值

(4)列表

(5)元祖

(6)字典

6.数字(int)的属性功能(python2里叫整形,有范围,长整形叫long)

(1)int功能(将字符串转换为数字)

  a='123'

  b=int(a)

  b=b+100此时就可以算了

#用type可以检验其类型,如print(type(a))

#进制转换

num='a'

b=int(num,base=16)

print(b)

此时输出值为10

(2)bit_length()

a=1

v=a.bit_length()

print(v)

此时v=1

#这里bit_length()指的是二进制下该数的字节个数

 Q7.字符串(str)的属性功能

(1)capitalize()

  首字母大写功能

(2)casefold()-功能更全面 和lower()

  #字母变小写

(3)center(width,可填可不填)

  a='chris'

  v=a.center(20,'#')

  print(v)

#此时为占20个位置,chris居中,且左右都为#(既空白位置填充,只能填一个字符,可有可无)

(4)count('填入字符')-寻找子序列在条件中出现的次数,查询的字符可以是多字符,后面的两个参数为从第几个字母开始,第几个结束

  a='ccaaddssw'

  v=a.count('d',5,7)

  print(v)

#此时输出数值为2,既d出现的次数为2

(5)encode,decode很重要

(6)endswith()-指判断以什么为结尾,输出布尔值,startswith()判断是以什么开头,后面也可设置数字参数

(7)expandtabs()

(8)find(a,5,8)-从前往后找,找子序列第一次出现的位置,后面也可设置两个数字参数,此时表示>=5且<8找属于第几位,当找不到时-1就是代表找不到

 !!!!!!重点

  a='achrischr'

  v=a.find('ch',5,9)

  print(v)

#此时输出值为6,第一个ch就被跳过了,index的功能与其一致,但找不到时会报错

(9)format()格式化,将一个字符串中的占位符替换为指定的值,

  a='i am {name},age {b},from{where}'
  v=a.format(name='chris',b=19,where='shenzhen')
  print(v)

#此时输出为i am chris,age 19,from shenzhen,字符串都要加引号

也可用数字方法,如下

  a='i am {0},age {1},from{2}'
  v=a.format('chris',19,'shenzhen')
  print(v)

#数字必须从0开始

(10)format_map()与上述相似,但格式不一样

  a='i am {name},age {b},from{where}'
  v=a.format_map({'name':'chris','b':19,'where':'shenzhen'})
  print(v)

(11)isalnum()-判断字符串是否是全为字母或数字,输出值为布尔值

(12)判断数字

  isalpha()判断是否是数字和汉字
  isdigit()
  isdecimal()
#判断是否是数字 上面的更高级,可看出是否为图形数字,输出值为布尔值
(13)swapcase()大小写转换
(14)isidentifer()判断标识符符不符合规则,数字开头为否

  islower()判断是否都是小写
  isnumeric()支持判断中文的数字
  判断数字的以后可以拿来判断内容层级
  isprintable()判断字符串内是否有特殊功能符号,如/n换行符 /t制表符
  isspace()判断是否全是空格
  istitle()判断是否是标题样式,既每个单词首字母大写,可用title()转换
(15)join()将字符串中的每个元素按照指定分隔符进行拼接,将某个字符加入到字符串中,两个字符中间加一个,把b加入a中  v=b.join(a),也可用简便方法

*****非常重要!

 

a='我是蔡晓武'
b='6'
v=b.join(a)
print(v)

 

输出值为我6是6蔡6晓6武

 

#简便方法

a='我是蔡晓武'
v='b'.join(a)
print(v)

输出值为我b是b蔡b晓b武

(16)ljust()和rjust()与center()相似,ljust()是把原字符串放左边,在右边填充

a='chris'
b=a.ljust(20,'#')
print(b)

输出为chris###############

(17)lower()和upper()将字符串转换为小写和大写,判断的功能是islower()和isupper()

#常用于网站输入验证码时,用于比对大小写

(18)strip()和lstrip()和rstrip()默认去除空白和特殊功能符如/t /n,也可进行参数指定

a='chris'
b=a.strip('c')
print(b)
#去除
!!!!重点

(19)maketrans()和translate()-按某个对应关系进行替换

a='aabbchrisc'
b=str.maketrans('a','d')
c=a.translate(b)
print(c)

#先用b创立对应规则,再将a转换

此时a全变成了d

(20)partition()和rpartition()将字符串以某个指定值分割成三部分,遇到的第一个分割(包含分割的元素,不会被去除)

(21)split()和rsplit()也是分割功能,但可以按某个参数全部分割,也可设置参数

重点!!!!!

a='aacfgcddsc'
b=a.split('c',2)
print(b)

输出值为['aa', 'fg', 'ddsc'],s本身会被去除

!!!#以后可用于设计计算器,先计算乘除时提取乘除符号,再将字符转换为数字int(),然后进行运算

#正则表达式,为以上两个功能的合集,可以自己决定是否要去除参数

(22)splitlines()根据换行符进行分割,可设置参数True或False,决定是否保留换行符

(23)!重点【】既索引或者下标,获取字符串中的某一个字符,顺序从0开始,也可获取多个字符,通过冒号来实现,区间为>=和<,【0:-1】-1为直接到最后一个参数,此功能也称为切片

a='chris'
b=a[2]
c=a[0:3]
print(b,c)

此时输出值为r,chr

(24)!重点  len()查询出字符串中有几个字符组成,也可查询列表中的元素个数,根据逗号分隔a=【11,22,33,‘sfa’】 len(‘a’) 输出值为4

a='chris'
b=len(a)
print(b)

此时输出值为5

(25)结合循环和以上功能获取字符串中的每个字符,未来爬取新闻时,用len()得到其长度,再用while循环把所有得出

#获取字符串中所有字符
a='蔡是帅哥'
b=0
while b<len(a):
    c=a[b]
    print(c)
    b=b+1

此时输出值为




也可用for循环实现

a='蔡是帅哥'
for b in a:
    print(b)

此时输出值为




 !!字符串一旦创建,不可修改,一旦修改或拼接,都会造成重新生成字符串

(26)!!重点replace()替换,可设置参数决定替换个数

a='ddsadfa'
b=a.replace('a','s',2)
print(b)

此时输出值为ddssdfs

(27)当name=‘aleX’时,求出name变量对应的值中‘e’所在索引位置

name='aleX'
b=len(name)
for i in range(0,b):
    while name[i]=='e':
        print(i)
        break

(28)设计一个整数加法计算器

a=input('>>>')
b=a.split('+')
c=0
for i in range(0,len(b)):
    c=int(b[i])+c
print(c)

(29)趣味模板程序

    需求:等待用户输入名字,地点、爱好,根据用户的名字和爱好进行任意实现

      如:敬爱的xxx,最喜欢在xxx,地方干xxx

a=input('您的名字是:')
b=input('地点:')
c=input('爱好:')
d='敬爱的{e},最喜欢在{f}干{g}'
h=d.format(e=a,f=b,g=c)
print(h)

 (30)验证码验证系统

def check_code():
    import random
    checkcode=''
    for i in range(4):
        current=random.randrange(0,4)
        if current!=i:
            temp=chr(random.randint(65,90))
        else:
            temp=random.randint(0,9)
        checkcode+=str(temp)
    return checkcode
code=check_code()
print(code)
c=code.upper()
a=input('请输入验证码:')
d=a.upper()
while d==c:
    print('您好')
    break
else:
    print('gun')

(31)其他数据类型

列表(list)

元祖(tuple)

字典(dict)

布尔值(bool)

posted @ 2019-12-29 20:59  五号世界  阅读(153)  评论(0编辑  收藏  举报