Day02_Manuals for Python@lisongye-运算符&字符串

  • ------------------------------START------------------------------

lsy_01 开发软件IDE

  1. pycharm
    使用pycharm,登录网站下载
    https://www.jetbrains.com/pycharm/download/
    建议使用专业版

lsy_02 运算符

python运算中,可以根据运算结果分为两类,
第一类:结果是“数值”的,主要是:算数运算、赋值运算;
第二类:结果是“布尔值”的,主要是:比较运算、逻辑运算、成员运算。

  1. 算数运算:
    常见的加、减、乘、除、余、商等运算,运算结果为具体的数值。
    a = 10 * 10

  2. 赋值运算:
    将数值赋值给变量,用变量表示数值。
    a = 1
    a = a + 1 ⇒ a += 1
    a = a - 1 ⇒ a -= 1
    a = a * 1 ⇒ a *= 1

  3. 比较运算:
    通过比较符判断数值的大小,返回布尔值。
    a = 1 < 5
    print(type(a),a)
    比较运算符:
    ==
    >
    <
    >=
    <=
    !=

  4. 逻辑运算:
    表示“和”、“或”关系,返回
    a = 1 >5 and 2 < 4
    print(type,a)
    逻辑运算符:
    and
    or

  5. 成员运算:
    在指定的序列中能否找到,能找到返回True,不能找到返回False。
    print(“l” in “lisongye”)
    print(“i” not in “lisongye”)
    成员运算符:
    in
    not in
    ##lisongye是字符串,i是字符

  6. 其他:
    布尔值bool:
    真(True)或假(False)
    not True == False

    执行顺序:
    先执行括号内的,从左向右执行。
    False后边是and,系统默认后边都是假的,
    True后边是or,默认后边都是真的。
    推荐使用括号控制执行顺序。
    结论:
    True 遇到or ===》 True
    True 遇到and ===》 继续走
    Flase 遇到or ===》 继续走
    True 遇到and ===》 Flase


基本数据类型

不同数据类型具有不同的功能,相同数据类型具有相同的功能。

lsy_03 数字 int

针对于数字,所有都被保存为int类型。

  1. 将数字字符串转换为数字类型:
    示例1:
    a = “1234”
    print(type(a),a)
    b = int(a) #转换类型
    print(type(b),b)
    示例2:
    num = “0011”
    v = int(num, base=2) #根据2进制转换成10进制
    print(v)

  2. 属性:
    示例:
    b = 123
    n2 = b.bit_length() #至少用几位二进制表示
    print(n2)


lsy_04 字符串 str

  1. str.capitalize()
    首字母大写,其他字母小写
    语法:
    str.capitalize()
    示例:
    >>> a = “liSongye”
    >>> b = a.capitalize()
    >>> print(b)
    Lisongye

  2. str.casefold() & str.lower()
    大写字母变小写字母
    casefold()相较于lower()能够转换更多的字符,功能更加强大。
    语法:
    str.casefold()
    str.lower()
    示例:
    >>>d = b.casefold()
    >>>e = b.lower()
    >>>print(d)
    >>>print(e)
    lisongye

  3. str.center()
    将原字符串居中并填充至长度width的新字符串
    语法:
    str.center(width,fillchar)
    width:填充后字符串的总宽度
    fillchar:填充字符,默认“空格”
    示例:
    >>> a = “lisongye”
    >>> b = a.center(20,"-")
    >>> print(b)
    ------lisongye------

  4. str.count()
    统计字符串中某个字符出现的次数
    语法:
    str.count(sub,start = 0,end = len(string))
    sub:搜索的子字符串。
    start:开始搜索的位置,默认第一个字符索引值为0。
    end:结束的位置,默认字符串最后一个位置。
    示例:
    width:填充后字符串的总宽度
    fillchar:填充字符,默认“空格”
    >>> a = “hahahahaheiheiha”
    >>> b = a.count(“ha”,2)
    >>> print(b)
    4

  5. str.endwith() & str. startwith()
    判断字符串是否以指定字符串结尾/开始,返回布尔值
    语法:
    str.endwith(suffix[, start[, end]])
    str.startwith(suffix[, start[, end]])
    suffix:可以是一个字符串或者一个元素。
    start:字符中开始的位置。
    end:字符中结束的位置(均以0开始)。
    返回值:布尔值(True/False)
    示例:
    width:填充后字符串的总宽度
    fillchar:填充字符,默认“空格”
    >>> a = “hahahahaheiheiha”
    >>>b = a.endswith(“ha”,10)
    >>>c = a.startswith(“ha”,1,9)
    >>>print(b)
    >>>print©
    True
    False

  6. str.expandtabs()
    将字符串中的tab符号(\t)转为空格输出
    语法:
    str.expandtabs(tabsize = 8)
    tabsize: 指定tab转为空格的字符数(默认为8chars)。
    示例:
    >>> test = “12345678\t9”
    >>>v = test.expandtabs(5)
    >>>print(v,len(v))
    12345678 9

  7. str.find()
    检测字符串中是否包含子字符串str,如果在指定的开始和结束范围内,则返回开始的索引值,否则返回-1
    语法:
    str.find(str,beg = 0,end = len(string))
    str:检索的字符串
    beg:开始检索位置,默认0
    end:结束检索位置,默认字符串长度
    返回值:
    包含:开始检索的位置。
    不包含:-1
    示例:
    >>>a = “hahahahaheiheiha”
    >>>b = a.find(“ha”,1,10)
    >>>print(b)
    2

  8. str.index()
    和find功能相同,只是不包含的情况下返回一个异常
    语法:
    str.index(str,beg = 0,end = len(string))
    str:检索的字符串
    beg:开始检索位置,默认0
    end:结束检索位置,默认字符串长度
    返回值:
    包含:开始检索的位置。
    不包含:返回异常
    示例:
    >>>a = “hahahahaheiheiha”
    >>>b = a.find(“ha”,9,10)
    >>>print(b)
    >>>c = a.index(“ha”,9,10)
    >>>print©
    -1
    Traceback (most recent call last):
    File “C:/Users/SongYeLi/PycharmProjects/python/day10/s2.py”, line 4, in
    c = a.index(“ha”,9,10)
    ValueError: substring not found

  9. str.format()
    格式化函数,通过{}来替代字段,从而完成字符串的格式化
    语法:
    str.format(str,str
    示例:
    >>> a = “i am {},age {}”
    >>>b = a.format(“lisongye”,“18”)
    >>>print(b)
    >>>c = “i am {0},age {1}”
    >>>d = c.format(“lisongye”,18)
    >>>print(d)
    >>>e = “i am {1},age {0}”
    >>>f = e.format(“lisongye”,18)
    >>>print(f)
    >>>g = “i am {name},age{n}”
    >>>f = g.format(name = ‘lisongye’,n = 18)
    >>>print(f)
    >>>h = “i am {name},age{n}”
    >>>i = h.format_map({“name”:‘lisongye’,“n”:18})
    >>>print(i)
    i am lisongye,age 18
    i am lisongye,age 18
    i am 18,age lisongye
    i am lisongye,age18
    i am lisongye,age18

  10. str.isalnum()
    检测字符串是否由字母和数字组成,返回布尔值
    语法:
    str.isalnum()
    示例:
    >>> a = “lisongye123456”
    >>> b = a.isalnum()
    >>> print(b)
    Ture

  11. str.isalpha()
    检测字符串是否由字母(汉字)组成,返回布尔值
    语法:
    str.isalpha()
    示例:
    >>> a = “lisongye”
    >>> b = a.isalpha()
    >>> print(b)
    Ture

  12. str.isdecimal() & str.isdigit() & str.isnumeric()
    检测字符串是否是数字组成,返回布尔值
    语法:
    str.isdecimal()
    str.isdigit()
    str.isnumeric()
    示例:
    >>> a = ‘二②’
    >>>print(a.isdecimal()) #常用
    >>>print(a.isdigit()) #支持特殊字符的数字
    >>>print(a.isnumeric()) #支持特殊字符的数字,大写汉字的数字
    False
    False
    True

  13. str.isprintable()
    检测字符串是否存在不可显示的字符,返回布尔值
    语法:
    str.isprintable()
    示例:
    >>>a = ‘ahda\tdaas’ # \t是不可显示字符
    >>>print(a.isprintable())
    False
    注:
    \t: 制表符
    \n:换行符

  14. str.isspace()
    检测字符串是否全部由空格组成,返回布尔值
    语法:
    str.isspace()
    示例:
    >>> a = ‘aadsa’
    >>>print(a.isspace())
    False

  15. str.istitle()
    检测字符串是否由标题(首字母大写)组成,返回布尔值
    语法:
    str.istitle()
    示例:
    >>> a = ‘my name is lisongye’
    >>> print(a.istitle())
    False
    补充:
    str.title() 将字符串转为标题。

  16. str.join()
    将序列中的元素以指定的字符连接生成一个新的字符串
    语法:
    str1.join(str2)
    示例:
    >>> a = “lisongye”
    >>> b = ‘_’.join(a)
    >>> print(b)
    l_i_s_o_n_g_y_e

  17. str.islower() & str.isupper()
    检测字符串是否都是小写/大写字母组成,返回布尔值
    语法:
    str.islower()
    str.isupper()
    示例:
    >>> a = ‘lisongye’
    >>> print(a.islower())
    >>> print(a.isupper())
    Ture
    False
    注意:
    str.lower:字符串中所有大写字符转小写.
    str.upper():字符串中所有小写字符转大写.

  18. str.lstrip() &str.strip() &str.rstrip()
    去除字符串左侧、两侧、右侧的空格(包含\t\n)
    语法:
    str.islower()
    示例:
    >>> a = ’ \nLSY \t’
    >>>print(a.lstrip()) #去除左侧空格
    >>>print(a.strip()) #去除两侧空格
    >>>print(a.rstrip()) #去除右侧空格

  19. str.maketrans() & str.translate()
    str.maketrans() 用于创建字符映射的转换表,对于接受两个参数简单的调用方式,第一个是需要转换的字符,第二个是表示转换的目标。两个字符串的长度必须相同,为一一对应的关系。
    str.translate()根据字符映射转换表转换字符串的字符
    语法:
    str.maketrans(intab, outtab)
    intab – 字符串中要替代的字符组成的字符串。
    outtab – 相应的映射字符的字符串。
    str.translate(table)
    table – 翻译表,翻译表是通过 maketrans() 方法转换而来。
    示例:
    >>>a = ‘aeiou’
    >>>b = ‘12345’
    >>>c = ‘lisongyeaeiou’
    >>>d = c.maketrans(a,b)
    >>>print(c.translate(d))
    >>>print(c.translate(c.maketrans(a,b)))
    l3s4ngy212345
    l3s4ngy212345

  20. **str.partition() & str.rpartition() **
    根据指定的分隔符将字符串进行分割,返回一个3元的元组。
    第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
    str.rpartition(str2)与partition() 相同,从右侧开始分割
    语法:
    str.partition(str2)
    str.rpartition(str2)
    str2: 指定的分隔符。
    示例:
    >>>a = ‘www.lsyli.cn’
    >>>b = a.partition(’.’)
    >>>print(b)
    (‘www’, ‘.’, ‘lsyli.cn’)
    (‘www.lsyli’, ‘.’, ‘cn’)

  21. str.split() & str.splitlines()
    根据指定的分隔符将字符串进行分割,并指定切割次数。
    splitlines()根据空格进行分割
    语法:
    str.split(str="", num=string.count(str))
    str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
    num – 分割次数。默认为 -1, 即分隔所有。
    示例:
    >>> a = ‘www.lsyli.cn lsy lisongye’
    >>> b = a.split(’.’,2)
    >>> c = a.splitlines() #根据空格进行分割
    >>> print(b)
    >>> print©
    [‘www’, ‘lsyli’, ‘cn lsy lisongye’]
    [‘www.lsyli.cn lsy lisongye’]
    .

  22. str.startwith() & str.endwith()
    检测字符串是否以xx开头/结尾,返回布尔值
    语法:
    str.startwith()
    str.endwith()
    示例:
    >>> a = ‘www.lsyli.cn lsy lisongye’
    >>>b = a.startswith(‘www’)
    >>>c = a.endswith(‘www’)
    >>>print(b)
    >>>print©
    Ture
    False

  23. str.swapcase()
    大小写转换
    语法:
    str.swapcase()
    示例:
    >>> a = ‘www.lsyli.cn lsy lisongye’
    >>> print(a.swapcase())
    WWW.LSYLI.CN LSY LISONGYE

  24. str.isidentifier()
    判断字符串是否是有效的 Python 标识符,可用来判断变量名是否合法
    语法:
    str.swapcase()
    示例:
    >>> a = “class”
    >>> print(a.isidentifier())
    True

  25. str.replace()
    把字符串中的 旧字符串替换成新字符串
    语法:
    str.replace(old, new[, max])
    old – 将被替换的子字符串。
    new – 新字符串,用于替换old子字符串。
    max – 可选字符串, 替换不超过 max 次
    示例:
    >>> a = ‘this is a dog’
    >>> print(a.replace(‘dog’,‘cat’))
    this is a cat


lsy_05 7个基本魔法(必会)

  1. str.join()
    将序列中的元素以指定的字符连接生成一个新的字符串
    语法:
    str1.join(str2)
    示例:
    >>> a = “lisongye”
    >>> b = ‘_’.join(a)
    >>> print(b)
    l_i_s_o_n_g_y_e

  2. str.split() & str.splitlines()
    根据指定的分隔符将字符串进行分割,并指定切割次数。
    splitlines()根据空格进行分割
    语法:
    str.split(str="", num=string.count(str))
    str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
    num – 分割次数。默认为 -1, 即分隔所有。
    示例:
    >>> a = ‘www.lsyli.cn lsy lisongye’
    >>> b = a.split(’.’,2)
    >>> c = a.splitlines() #根据空格进行分割
    >>> print(b)
    >>> print©
    [‘www’, ‘lsyli’, ‘cn lsy lisongye’]
    [‘www.lsyli.cn lsy lisongye’]

  3. str.find()
    检测字符串中是否包含子字符串str,如果在指定的开始和结束范围内,则返回开始的索引值,否则返回-1
    语法:
    str.find(str,beg = 0,end = len(string))
    str:检索的字符串
    beg:开始检索位置,默认0
    end:结束检索位置,默认字符串长度
    返回值:
    包含:开始检索的位置。
    不包含:-1
    示例:
    >>>a = “hahahahaheiheiha”
    >>>b = a.find(“ha”,1,10)
    >>>print(b)
    2

  4. str.lstrip() &str.strip() &str.rstrip()
    去除字符串左侧、两侧、右侧的空格(包含\t\n)
    语法:
    str.islower()
    示例:
    >>> a = ’ \nLSY \t’
    >>>print(a.lstrip()) #去除左侧空格
    >>>print(a.strip()) #去除两侧空格
    >>>print(a.rstrip()) #去除右侧空格

5、6. str.islower() & str.isupper()
检测字符串是否都是小写/大写字母组成,返回布尔值
语法:
str.islower()
str.isupper()
示例:
>>> a = ‘lisongye’
>>> print(a.islower())
>>> print(a.isupper())
Ture
False
注意:
str.lower:字符串中所有大写字符转小写.
str.upper():字符串中所有小写字符转大写.

  • str.replace()
    把字符串中的 旧字符串替换成新字符串
    语法:
    str.replace(old, new[, max])
    old – 将被替换的子字符串。
    new – 新字符串,用于替换old子字符串。
    max – 可选字符串, 替换不超过 max 次
    示例:
    >>> a = ‘this is a dog’
    >>> print(a.replace(‘dog’,‘cat’))
    this is a cat

lsy_06 4个灰魔法(必会)

  • for循环:
    for 变量 in 字符串 :
    程序块
    break
    continue
    示例:
    >>> a = ‘lisongye’
    >>>for i in a :
    >>>print(i)
  1. 索引,下标,获取字符串中的某一个字符:
    >>>a = ‘lisongye’
    >>>b = a[2]
    >>>print(b)

  2. 切片(获取某一段字符):
    >>>a = ‘lisongye’
    >>>b = a[2:4]
    >>>print(b)
    注:b = a[2:4] a<=n[a:b]<b

  3. 获取长度:
    len获取当前字符串中由几个字符组成。
    >>>a = ‘lisongye’
    >>>print(len(a))

  4. 获取连续或不连续的数字:
    range(start, stop[, step])
    start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
    stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
    step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
    示例:
    >>>range(10) # 从 0 开始到 10
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>>range(1, 11) # 从 1 开始到 11
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    >>>range(0, 30, 5) # 步长为 5
    [0, 5, 10, 15, 20, 25]
    >>>range(0, 10, 3) # 步长为 3
    [0, 3, 6, 9]
    >>>range(0, -10, -1) # 负数
    [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
    >>>range(0)
    []
    >>>range(1, 0)
    []

lsy_06 1个深度魔法(必会)

**字符串一旦创建,不可修改。**
**一旦修改或者拼接,会重新生成字符串。**

  • E-mail:lisongye@126.com
  • WeChat:baobeilsy
  • Copyright © lisongye All Rights Reserved
  • ------------------------------END------------------------------
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值