zoukankan      html  css  js  c++  java
  • Python变量之白首如新,倾盖如故

    python中的变量

    变量:将运算的中间结果暂存到内存中,方便后续程序调用。

    变量的命名规则:
    1、变量名由字母、数字、下划线组成。
    2、变量名可以用字母、下划线开头,但是不能以数字开头。
    3、变量名是区分大小写的。
    4、变量名不能使用关键字。
    5、变量名最好不要用中文或者拼音。
    6、变量名最好起的要有意义,具有描述性。
    7、变量名最好不要太长。
    8、变量名最好使用驼峰命名法或者下划线命名法。

    常量:所谓常量就是不可修改的变量。
    在python中不存在绝对的常量,约定俗成的是常量名全部大写。

    python中的注释:
    单行注释:#是单行注释
    多行注释:三个单引号'''  '''或者三个双引号"""   """。

    python基本数据类型:
    1、数字类型-int、float、long、complex
    2、字符串类型str
    3、bool类型
    4、列表类型-list
    5、元组类型-tuple
    6、字典类型-dict
    7、集合类型-set

    字符串的格式化输出

    1、单引号的方式

    buf = 'Hello World'

    2、双引号的方式

    buf = "Hello World"

    3、三个单引号('''   ''')("""    """),最主要的是可以换行.

    buf = """
    窗前明月光,
    疑似地上霜.
    举头望明月,
    低头思故乡.
    """

    4、字符串可以执行拼接或者乘法的操作,如下:
    4.1 字符串拼接操作:

    buf = "abc"
    buf_1 = "def"
    buf_2 = buf + buf_1 + "ghk"

    注意:字符串的拼接只能是同类型

    4.2 字符串乘法操作:

    name = "小明"
    buf  = name * 10  # 相当于复制10次变量name

    字符串格式化输出
    格式化输出常用参数:
    %s:非常强大,可以接收任意类型的数据并转化成str类型输出。
    %c:整数:将数字转换成其ASCII/unicode对应的值,(py27则只支持0-255)。
    %o:将整数转换成八进制表示。
    %x:将整数转换成十六进制表示。
    %d:将整数、浮点数转换成 十 进制表示。
    %e:将整数、浮点数转换成科学计数法(小写e)。
    %E:将整数、浮点数转换成科学计数法(大写E)。
    %f: 将整数、浮点数转换成浮点数表示(默认保留小数点后6位)。
    %g:自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数 法,如果是科学计数则是e;)。
    %G:自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数 法,如果是科学计数则是E;)。
    %:当字符串中存在格式化标志时,需要用 %%表示一个百分号 注:Python中百分号格式化是不存在自动将整数转换成二进制表示的方式。

    格式化输出 1

    name = "小明"
    age = 18
    buf  = "你好%s,你今年是%d了吗" % (name,age)
    print(buf)
    # 打印内容如下
    你好小明,你今年是18了吗

    格式化输出 2

    name = "小明"
    age = 18
    buf  = "你好%(name)s,你今年是%(age)d了吗" % {"name":name,"age":age}
    print(buf)
    # 打印内容如下
    你好小明,你今年是18了吗

    格式化输出 3

    name = "小明"
    age = 18
    buf = f"你好{name},你今年是{age}了吗"
    print(buf)
    # 打印内容如下
    你好小明,你今年是18了吗

    格式化输出 4

    name = "小明"
    age = 18
    print("你好{},你今年是{}了吗" .format(name,age))
    # 打印内容如下
    你好小明,你今年是18了吗

    格式化输出 5

    name = "小明"
    age = 18
    print("你好{1},你今年是{0}了吗?".format(age,name))
    # 打印内容如下
    你好小明,你今年是18了吗?

    格式化输出 6

    name = "小明"
    age = 18
    print("你好{name},你今年是{age}了吗?".format(name=name,age=age))
    # 打印内容如下
    你好小明,你今年是18了吗?

     获取用户输入input():

    使用input('提示信息')函数获取用户输入。
    变量 = input('提示信息') #会将用户输入的信息以str的形式保存到变量中。

    buf = input('>>>请输入内容:')
    print(f'用户输入的内容是:{buf},变量的数据类型是:{type(buf)}')
    # 打印内容如下
    >>>请输入内容:123
    用户输入的内容是:123,变量的数据类型是:<class 'str'>

    字符串str常用方法

    capitalize():首字母大写,并且将其它字符全部转换成小写。

    buf = 'abc_123'
    temp = 'abC_123!@#'
    print(buf.capitalize())
    print(temp.capitalize())
    # 打印内容如下
    Abc_123
    Abc_123!@#

    casefold():该方法是Python3.3版本之后引入的,其作用和 lower() 方法相似,可以将字符串中的大写转换为小写。  两者的区别是:lower() 方法只对ASCII编码,也就是‘A-Z’有效,对于其他语言(非汉语,如德语,法语等)中把大写转换为小写的情况只能用 casefold() 方法。相比于lower(),casefold()的功能更加强大。

    buf = 'ABc_123'
    temp = 'abC_123!@#'
    print(buf.casefold())
    print(temp.casefold())
    # 打印内容如下
    abc_123
    abc_123!@#

    islower():如果字符串中的字符全是小写返回True,否则返回Flase。

    buf = 'abc_123'
    temp = 'abC_123!@#'
    print(buf.islower())
    print(temp.islower())
    # 打印内容如下
    True
    False

    ljust((width[, fillchar]):指定字符串的宽度,将字符串显示在左侧,如果字符串的长度不够使用指定的字符进行填充。

    rjust((width[, fillchar]):指定字符串的宽度,将字符串显示在右侧,如果字符串的长度不够使用指定的字符进行填充。

    center(width[, fillchar]):指定字符串的宽度,将字符串显示在中间的位置,如果字符串的长度不够使用指定的字符进行填充。

    参数:

    width:设置字符串的宽度。

    fillchar:如果字符串的长度不够,设置填充的字符。

    示例:

    buf = 'abc'
    print(buf.ljust(20,'#'))   # 设置字符串的跨度为20,如果字符串的长度不够用#填充
    print(buf.center(20,'#'))   
    print(buf.rjust(20,'#')) 
    # 打印内如如下
    abc#################
    ########abc#########
    #################abc

    count(substring, start, end):统计字符串中substring的数量。

    参数:

    substring:需要统计的字符串。

    start:从起始位置开始统计。

    end:到end位置接收。

    示例:

    buf = 'abacddaaa'
    print(f'统计所有字符a的个数:{buf.count("a")}')
    print(f'统计字符串前五个字符中a的个数:{buf.count("a",0,5)}')
    # 打印内容如下
    统计所有字符a的个数:5
    统计字符串前五个字符中a的个数:2

    encode(encoding='utf-8', errors='strict'):字符串的编码方式,返回字节。

    buf = 'abc'
    print(buf.encode(encoding='utf-8'))
    # 打印内容如下
    b'abc'

    endswith(suffix[, start[, end]]):判断是不是以suffix结尾,如果是返回True,否则返回False。

    参数:

    suffix:结尾字符串。

    start:从start处开始

    end:到end结束

    示例:

    buf = 'abcdef'
    print(buf.endswith('def'))
    print(buf.endswith('def',4,5))
    print(buf.endswith('abc'))
    # 打印内容如下
    True
    False
    False

    find(sub[, start[, end]]):查找元素下标,如果找到返回元素下标,如果找不到返回-1。

    参数:

    sub:需要查找的元素。

    start:从start处开始

    end:到end结束

    示例:

    buf = 'abcdef'
    print(f'元素d的下标是:{buf.find("d")}')
    print(f'元素z的下标是:{buf.find("z")}')
    # 打印内容如下
    元素d的下标是:3
    元素z的下标是:-1

    index(sub[, start[, end]]):查找元素下标,如果找到返回元素下标,如果找不到会报错。

    find(sub[, start[, end]]):查找元素下标,如果找到返回元素下标,如果找不到返回-1。

    参数:

    sub:需要查找的元素。

    start:从start处开始。

    end:到end结束。

    示例:

    buf = 'abcddef'
    print(f'元素d的下标是:{buf.index("d")}')
    print(f'元素z的下标是:{buf.index("z")}')
    # 打印内容如下
    元素d的下标是:3
    Traceback (most recent call last):
      File "C:Usersid_iotDesktop1.py", line 3, in <module>
        print(f'元素z的下标是:{buf.index("z")}')
    ValueError: substring not found

    isalnum():如果字符串是由字符或者数字返回True,否则返回Flase。

    buf = 'abcddef123'
    temp = 'abc_123+='
    print(buf.isalnum())
    print(temp.isalnum())
    # 打印内容如下
    True
    False

    isalpha():如果字符串是由字母或者汉字返回True,否则返回Flase。

    buf = 'abcddef你好asdf'
    temp = 'abc123'
    print(buf.isalpha())
    print(temp.isalpha())
    # 打印内容如下
    True
    False

    isdecimal():如果字符串是由十进制数字组成返回True,否则返回Flase。

    buf = 'abc123'
    temp = '123'
    print(buf.isdecimal())
    print(temp.isdecimal())
    # 打印内容如下
    False
    True

    isdigit():如果字符串是由数字组成返回True,否则返回Flase。

    buf = 'abc123'
    temp = '123'
    print(buf.isdigit())
    print(temp.isdigit())
    # 打印内容如下
    False
    True

     isidentifier():如果字符串是由字母数字或者下划线组成返回True,否则返回Flase。

    buf = 'abc_123'
    temp = 'abc_123!@#'
    print(buf.isidentifier())
    print(temp.isidentifier())
    # 打印内如如下
    True
    False

    isnumeric():如果字符串是由数字组成返回True,否则返回Flase。

    buf = 'abc12'
    temp = '123'
    print(buf.isnumeric())
    print(temp.isnumeric())
    # 打印内容如下
    False
    True

    isprintable():如果字符串中没有换行,制表符等返回True,否则返回Flase。

    buf = 'abc_123!@#$%你好'
    temp = 'abc_123!@#$%你好
    '
    print(buf.isprintable())
    print(temp.isprintable())
    # 打印内容如下
    True
    False

    isspace():如果字符串是空格(注意:''不是空格)则返回True,否则返回Flase。

    buf = 'abc 123'
    temp = ' '
    print(buf.isspace())
    print(temp.isspace())
    # 打印内容如下
    False
    True

    istitle()如果字符串是以大写开头返回True,否则返回Flase。

    buf = 'aBc123'
    temp = 'Abc123'
    print(buf.istitle())
    print(temp.istitle())
    # 打印内容如下
    False
    True

    isupper():如果字符串中的字符全是大写返回True,否则返回Flase。

    buf = 'aBc123'
    temp = 'ABC123'
    print(buf.isupper())
    print(temp.isupper())
    # 打印内如如下
    False
    True

    join(iterable):将可迭代对象转换成字符串,iterable是可迭代对象,注意:iterable的元素必须是字符串否则会报错。

    buf = ['a','b','c']
    temp = [1,2,3]
    print('_'.join(buf))    # 转换字符串以"_"进行分隔
    print('|'.join(temp))# 转换字符串以"|"进行分隔
    # 打印内如如下
    a_b_c
    Traceback (most recent call last):
      File "C:Usersid_iotDesktop1.py", line 4, in <module>
        print('|'.join(temp))
    TypeError: sequence item 0: expected str instance, int found

    lower():将字符串全部转换成小写。

    upper():将字符串全部转换成大写。

    buf = 'aBc'
    print(buf.lower())
    print(buf.upper())  
    # 打印内容如下
    abc
    ABC

    lstrip([chars]):去掉字符串左侧的chars。

    strip([chars]):去掉字符串两侧的chars。

    rstrip([chars]):去掉字符串右侧的chars。

    buf = 'aabbccaa'
    print(buf.lstrip('aa'))
    print(buf.strip('aa'))
    print(buf.rstrip('aa')) 
    # 打印内如如下
    bbccaa
    bbcc
    aabbcc

    partition(sep):在字符串中搜索分隔符sep,以元组的形式返回结果、如果找不到分隔符,则返回S和两个空字符串。

    buf = 'aabbccaa'
    print(buf.partition('bb'))
    print(buf.partition('_'))
    # 打印内如如下
    ('aa', 'bb', 'ccaa')
    ('aabbccaa', '', '')

    replace(old, new[, count]):替换字符串中的元素。

    参数:

    old:需要被替换的字符。

    new:替换后的字符。

    count:替换的次数。

    示例:

    buf = 'aabbccaa'
    print(buf.replace('aa','123'))
    print(buf.replace('aa','123',1))  # 替换1次
    # 打印内如如下
    123bbcc123
    123bbccaa

    split(sep=None, maxsplit=-1):将字符串以sep的方式进行分隔,返回分隔后的列表。

    参数:

    sep:分隔符。

    maxsplit:分隔的次数。

    示例:

    buf = 'aabbccaa'
    print(buf.split('b'))
    print(buf.split('b',1))  # 只分隔一次
    # 打印内如如下
    ['aa', '', 'ccaa']
    ['aa', 'bccaa']

    startswith(prefix[, start[, end]]):如果字符串以prefix开头返回True,否则返回Flase。

    参数:

    prefix:开头字符。

    start:从start处开始

    end:到end结束

    示例:

    buf = 'aabbccaa'
    print(buf.startswith('aabb'))
    print(buf.startswith('aabb',0,2))  
    # 打印内如如下
    True
    False

    swapcase():将字符串中的大写字母转换成小写,将字符串中的小写字母转换成大写。

    buf = 'aaBBccDD'
    print(buf.swapcase())
    # 打印内容如下
    AAbbCCdd

    title():将字符串首字母大写,其它字符小写。

    buf = 'aaBBccDD'
    print(buf.title())
    # 打印内如如下
    Aabbccdd

    zfill(width):指定字符串的宽度,如果宽度大于字符串长度,在左侧用0填充。

    参数:

    width:指定字符串的宽度。

    示例:

    buf = 'aaBBccDD'
    print(buf.zfill(20))
    # 打印内如如下
    000000000000aaBBccDD

    下一篇:python运算符:https://www.cnblogs.com/caesar-id/p/10205186.html

  • 相关阅读:
    mysql 远程登陆不上
    hdu 5339 Untitled【搜索】
    SqlServer 书目
    passwordauthentication yes
    oracle 11g RAC ocfs2
    Oracle 11g RAC database on ASM, ACFS or OCFS2
    CentOS ips bonding
    Oracle 11g RAC features
    openStack 王者归来之 trivial matters
    openstack windows 2008 img
  • 原文地址:https://www.cnblogs.com/caesar-id/p/10196702.html
Copyright © 2011-2022 走看看