• 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)

  • 相关阅读:
    [C]recursion递归计算阶乘
    [Python]reduce function & lambda function & factorial
    [C/JAVA] ceil, floor
    OC项目调用C++
    Xcode 代码注释
    百度云加速器
    UITableView和MJReFresh结合使用问题记录
    OC 类的load方法
    JLRoutes笔记
    推送通知项目记录
  • 原文地址:https://www.cnblogs.com/caixiaowu/p/12092842.html
Copyright © 2020-2023  润新知