美文网首页
2018-07-18

2018-07-18

作者: Toto_fa49 | 来源:发表于2018-07-18 21:18 被阅读0次

    作业:

    作业01
    
    name = 'zdq'
    print(name+":"+"\"Hello Eric, would you like to learn some Python today?\"")
    
    结果:
    
    
    
    作业02
    name = 'zdq'
    print(name.title())
    print(name.upper())
    print(name.lower())
    
    结果:
    Zdq
    ZDQ
    zdq
    [Finished in 0.1s]
    
    
    作业03
    name = 'zdq'
    print("%s说:"%(name)+"“日本是中国的。”")
    
    结果:
    zdq说:“日本是中国的。”
    [Finished in 0.1s]
    
    作业04
    famous_person = "ZDQ"
    message = "吼吼,那是饭"
    print(famous_person+':'+message)
    
    结果:
    ZDQ:吼吼,那是饭
    [Finished in 0.1s]
    
    作业05-1
    name = "zdq"
    new_name = name.center(20,'*')
    print(new_name)
    print(new_name.lstrip('*'))
    print(new_name.rstrip('*'))
    print(new_name.strip('*'))
    结果:
    ********zdq*********
    zdq*********
    ********zdq
    zdq
    [Finished in 0.1s]
    
    作业05-2
    name = "\tzdq\n\tZDQ"
    print(name)
    print(name.lstrip())
    print(name.rstrip())
    print(name.strip())
    结果: zdq
        ZDQ
    zdq
        ZDQ
        zdq
        ZDQ
    zdq
        ZDQ
    [Finished in 0.1s]
    

    小结

    上午:

    1.什么是字符串

    a.使用单引号或者双引号括起来的字符集就是字符串。

    b.引号中单独的符号、数字、字母等叫字符

    c.转义字符:可以用来表示一些有特殊功能或者是特殊意义的字符(通过在固定的字符前加\)
    ' -> '
    \ ->
    \n -> 换行
    \t -> 制表符
    " -> "
    在计算字符串长度的时候,转义字符代表一个字符

    '123' # 数字字符串
    'ahcn'
    '^7&#sj'
    '中文汉字'
    ' '
    str2 = '\'
    print(str2)
    str1 = '床前明月光,\t疑是地上霜。'
    print(str1)

    2.阻止转义

    可以通过在字符串前面加r或者R,来阻止转义字符转义
    str1 = r'\1\n2'
    print(str1)

    3.python中字符串中的字符是Unicode编码

    Unicode编码:使用16位对一个字符进行编码。编码的目的是让字符可以存储到计算机中。(2^16 = 65536 111)
    Unicode码中包含了ASSCII码,并且可以表示世界上所有的语言和符号

    a.获取一个字符的Unicode码 用ord
    ord1 = ord('余')
    ord2 = ord('婷')
    ord3 = ord('A')
    print(hex(ord1), hex(ord2), ord3)

    b.将Unicode码转换成字符用chr
    chr(编码值)
    print(chr(0x4eff))

    字符串比较大小的时候,从字符开始依次往后比较每个字符的大小,直到遇到字符不一样为止。
    比较字符大小的时候,实质比的是他们的编码的大小
    print('a' > '余b')

    python的字符,实质是一个有序的字符序列。

    1.获取字符串长度:(长度->字符串中字符的个数)

    len是获取序列长度的内置函数

    count = len('abc\n123')
    print(count)

    2.通过下标获取字符串中的某一个字符

    字符串中每个字符都对应一个下标(索引),我们可以通过索引值去获取固定的字符: 字符串[索引值]
    'abc' --> a:0, b:1, c:2
    str1 = 'abc'
    print(str1[0]) # a
    print(str1[2]) # c

    str2 = "dy\nup"
    print(str2[4])

    下标的范围:0 ~ 字符串长度-1; -1 ~ -字符串长度
    获取字符的时候,索引值不能操作索引的范围,否则会报IndexError

    print(str1[3]) # IndexError: string index out of range
    print(str1[-1]) # 获取字符串str1中的最后的字符
    print(str1[-3]) # 获取字符串str1中的倒数第三个字符

    3.获取字符串中的部分字符(切片):
    字符串[开始下标:结束下标] --> 获取字符串中从开始下标到结束下标的字符(包含开始下标对应的字符,不包含结束下标对应的字符)
    字符串[开始下标:结束下标:步进]

    字符串[开始下标:结束下标] === 字符串[开始下标:结束下标:1]

    a.开始和结束下标都有值:开始下标对应的字符,要在结束下标对应的字符前面(步进是正数)
    str3 = 'helol Python'
    print(str3[6:12]) # Python
    print(str3[-6:12]) # Python

    ** b.开始下标省略:从字符串的最前面取到结束下标前**
    print(str3[:4])

    ** c.结束下标省略: 从开始位置获取到字符串结束**
    print(str3[4:])

    e.两个都省略: 获取整个字符串的内容
    print(str3[:])

    f:每两个取一个
    print(str3[::2]) # hloPto
    (了解)
    print(str3[4:1:-1]) # 3 3-1=2 1 0
    print(str3[::-1]) # 字符串倒序

    1. + : 字符串拼接

    字符串1+字符串2

    str1 = 'hello' +' '+'Python'
    print(str1)

    注意: + 号两边要么都是数字,要么都是字符串。不能是一个数字一个字符串
    print(12+'34')

    2. * : 让字符串重复

    字符串*整数
    str1 = 'abc' * 3
    print(str1)

    str2 = 'a'*10
    print(str2)

    3. in

    字符串1 in 字符串2 : 判断字符串1是否在字符串2中 --> 在就是True,不在是Fasle
    result = 'aa' in 'abaaac'
    print(result)

    4. not in

    字符串1 not in 字符串2 : 判断字符串1是否不在字符串2中 --> 不在就是True,在是False
    result = '123' not in 'abc'
    print(result)

    5.格式字符串(占位符)

    ""格式: '占位符1占位符2'%(值1,值2)""
    str1 = 'abc%s12%s3' % ('>>>','!!!')

    print(str1)

    %s --> 字符串占位符(格式符)
    %d --> 整数占位符(格式符)
    %f --> 浮点数占位符
    %c --> 长度是1的字符串占位符(字符占位符)---可以给一个字符,也可以给字符的编码值

    str2 = '-%s-%d-%f-%c-%c-' % ('我是字符串',123,12.4,'k',97)
    print(str2)

    %.nf : 使用n值限制小数点后面的小数的位数(默认六位小数)
    str3 = '金额:%.2f元' % (100)
    print(str3)

    如果后面没有加%,那么这个字符串只是一个普通的字符串
    str3 = '金额L%f元'
    print(str3)

    %x和%X --> 十六进制数据占位符
    number = 15
    XXX的十六进制是XXXXX
    str4 = '%d的十六进制是0X%x' % (number, number)
    print(str4)

    6.格式化输出

    name = '路飞'
    age = 17
    xx今年xx岁
    print('%s今年%d岁' % (name, age))
    print('%x' % (id(name)))

    下午:

    字符串相关方法:

    字符串相关方法的通用格式: 字符串.函数()

    # 1.capitalize:将字符串的首字母转换成大写字母,并且创建一个新的字符串返回
    str1 = 'abc'
    new_str = str1.capitalize()
    print(str1, new_str)
    结果:
    abc Abc
    
    
    # 2.center(width, fillchar): 将原字符串变成指定的长度并且内容居中,剩下的部分使用指定的字符填充
    new_str = str1.center(7, '!')
    print(str1, new_str)
    
    结果:
    abc !!abc!!
    
    
    # 3.rjust(width, fillchar): 右对齐,将原字符串变成指定的长度并且内容右对齐,剩下的部分使用指定的字符填充
    new_str = str1.rjust(7,'*')
    print(new_str)
    
    结果:
    ****abc
    
    # 产生学号
    number = 19  # py1805009
    # str(数据): 将任何其他的数据转换成字符串 
    num_str = str(number)
    print(num_str, type(num_str))
    结果:19 <class 'str'>
    # 让字符串变成宽度为3,内容右对齐,剩下部分使用‘0’填充
    new_str = num_str.rjust(3, '0')
    print(new_str)
    
    结果:019
    new_str = 'py1805'+new_str
    print(new_str)
    结果:py1805019
    
    # 4.ljust(width, fillchar): 左对齐,将原字符串变成指定的长度并且内容左对齐,剩下的部分使用指定的字符填充
    
    
    # "123.56" '-120'
    
    # 5.字符串1.join(字符串2): 在字符串2中的每个字符之间插入一个字符串1
    new_str = '123'.join('bbb')
    print(new_str)
    
    结果:b123b123b
    # 6.
    print(max('abcZ'))
    结果:c
    

    if语句

    结构:

    if 条件语句:
    条件语句结果为True执行的代码块

    执行过程:先判断条件语句是否为True,如果为True就执行if语句后:后面对应的一个缩进的所有的代码。
    为False,就不执行冒号后面一个缩进中的代码块,直接执行后续的其他语句

    条件语句:可以是任何有值的表达式,但是一般是布尔值

    if:关键字

    if False:
    print('代码1') (不执行)
    print('代码2')(不执行)
    print('代码3')(不执行)

    print('代码4')(执行)

    练习:用一个变量保存时间(50米短跑),如果时间小于8秒,打印及格

    time = 7
    
    if time < 8:
        print('及格')  # 只有条件成立的时候才会执行
    
    print(time)  # 不管if语句的条件是否,这个语句都会执行
    
    
    

    if 条件语句:
    语句块1
    else:
    语句块2

    *执行过程:先判断条件语句是否为True,如果为True就执行语句块1,否则执行语句块2

    练习:用一个变量保存成绩,如果成绩大于等于60,打印及格,否则打印不及格

    
    if score >= 60:
        print('及格')
    else:
        print('不及格')
    

    备用

    Python字符串格式化

    Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

    在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

    print ("我叫 %s 今年 %d 岁!" % ('小明', 10))  
    

    python字符串格式化符号:

    |符号|描述|

    |---|---|

    %c | 格式化字符及其ASCII码

    %s | 格式化字符串

      %d| 格式化整数
      %u    | 格式化无符号整型
      %o    | 格式化无符号八进制数
      %x    | 格式化无符号十六进制数
      %X    | 格式化无符号十六进制数(大写)
      %f    | 格式化浮点数字,可指定小数点后的精度
      %e    | 用科学计数法格式化浮点数
      %E    | 作用同%e,用科学计数法格式化浮点数
      %g    | %f和%e的简写
      %G    | %f 和 %E 的简写
      %p     |用十六进制数格式化变量的地址
    

    --
    Python 的字符串内建函数

    Python 的字符串常用内建函数如下:

    |序号|方法|描述|

    |---|---|---|

    1 |capitalize()|将字符串的第一个字符转换为大写

    2| center(width, fillchar)|返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

    3| count(str, beg= 0,end=len(string))|返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

    4| bytes.decode(encoding="utf-8", errors="strict")|Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。

    5| encode(encoding='UTF-8',errors='strict')|以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

    6| endswith(suffix, beg=0, end=len(string))|检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

    7| expandtabs(tabsize=8)|把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。

    8| find(str, beg=0 end=len(string))|检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1

    9| index(str, beg=0, end=len(string))|跟find()方法一样,只不过如果str不在字符串中会报一个异常.

    10| isalnum()|如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False

    11| isalpha()|如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False

    12 |isdigit()|如果字符串只包含数字则返回 True 否则返回 False..

    13 |islower()|如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

    14 |isnumeric()|如果字符串中只包含数字字符,则返回 True,否则返回 False(中文数字也可以)

    15 |isspace()|如果字符串中只包含空白,则返回 True,否则返回 False.

    16| istitle()|如果字符串是标题化的(见 title())则返回 True,否则返回 False

    17|isupper()|如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

    18| join(seq)|以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

    19| len(string)|返回字符串长度

    20| ljust(width[, fillchar])|返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。

    21 |lower()|转换字符串中所有大写字符为小写.

    22 |lstrip()|截掉字符串左边的空格或指定字符。

    23| maketrans()|创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

    24 |max(str)|返回字符串 str 中最大的字母。

    25| min(str)|返回字符串 str 中最小的字母。

    26 |replace(old, new [, max])|把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。

    27 |rfind(str, beg=0,end=len(string))|类似于 find()函数,不过是从右边开始查找.

    28 |rindex( str, beg=0, end=len(string))|类似于 index(),不过是从右边开始.

    29| rjust(width,[, fillchar])|返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串

    30 |rstrip()|删除字符串字符串末尾的空格.

    31 |split(str="", num=string.count(str))|num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串

    32 |splitlines([keepends])|按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

    33 |startswith(str, beg=0,end=len(string))|检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

    34 |strip([chars])|在字符串上执行 lstrip()和 rstrip()

    35 |swapcase()|将字符串中大写转换为小写,小写转换为大写

    36 |title()|返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

    37 |translate(table, deletechars="")|根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中

    38 |upper()|转换字符串中的小写字母为大写

    39 |zfill (width)|返回长度为 width 的字符串,原字符串右对齐,前面填充0

    40 |isdecimal()|检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。

    相关文章

      网友评论

          本文标题:2018-07-18

          本文链接:https://www.haomeiwen.com/subject/xfeapftx.html