Coding Python

无尽


  • Home

  • Archives

快速认识Python中的字符串

Posted on 2019-09-20 | In Python入门 |

字符串本质是一种类似于列表的数据结构

1
2
3
4
str = 'Congratulation'
print(str[0])
print(str[1])
print(str[-1])

C
o
n

用单引号’、双引号’’、三引号’’’表示字符串,
也可以嵌套使用

1
2
str = "I'm Jack"
print(str)

I’m Jack

字符串中需要换行等需要用到转义字符:\

表示单引号: '
表示双引号: "
表示换行: \n
表示tab: \t
表示回车: \r
表示退格:\b
表示空格:直接就敲空格,不是所有字符都有转义的,空格没有转义字符

1
2
3
4
str = '请问你有多帅?\n我想爆裂的镜子已经给出了答案!\n'
str1 = '法朗士:\"读书是灵魂的壮游,\n\t\t随时可发现名山巨川、古迹名胜、\n\t\t深林幽谷、奇花异卉。\"'
print(str)
print(str1)

请问你有多帅?
我想爆裂的镜子已经给出了答案!

法朗士:”读书是灵魂的壮游,
           随时可发现名山巨川、古迹名胜、
                     深林幽谷、奇花异卉。”

用r前缀可忽略转义符,用于不需要转义直接打印\n\t的场景

1
2
str = r'天行健,君子以自强不息!\n\t\r\b'
print(str)

天行健,君子以自强不息!\n\t\r\b

使用+号进行字符串的拼接

1
2
3
4
5
str0 = '《周易》曰:\n'
str1 = ' 天行健,君子以自强不息;\n'
str2 = ' 地势坤,君子以厚德载物。'
str0 += str1 + str2
print(str0)

《周易》曰:
天行健,君子以自强不息;
地势坤,君子以厚德载物。

神奇的乘号*,快速生成相同字符

1
2
print('❤' * 9)
print('\n'.join([''.join([('520'[(x-y) % len('520')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0else' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))

❤❤❤❤❤❤❤❤❤
                  205205205             520520520
             20520520520520520    52052052052052052
           52052052052052052052052052052052052052052
          5205205205205205205205205205205205205205205
         520520520520520520520520520520520520520520520
         205205205205205205205205205205205205205205205
         052052052052052052052052052052052052052052052
         520520520520520520520520520520520520520520520
         205205205205205205205205205205205205205205205
         052052052052052052052052052052052052052052052
          2052052052052052052052052052052052052052052
           52052052052052052052052052052052052052052
           20520520520520520520520520520520520520520
             2052052052052052052052052052052052052
              52052052052052052052052052052052052
               052052052052052052052052052052052
                 05205205205205205205205205205
                   0520520520520520520520520
                     052052052052052052052
                        520520520520520
                           205205205
                              052
                               2

字符串的格式化

%s:字符格式化
%d:整型格式化
.format():万能格式化

1
2
print('世界上第一台通用计算机"%s"于%d年在美国宾夕法尼亚大学诞生。' % ('ENIAC', 1946))
print('世界上第一台通用计算机"{name}"于{year}年在美国宾夕法尼亚大学诞生。'.format(name='ENIAC', year=1946))

世界上第一台通用计算机”ENIAC”于1946年在美国宾夕法尼亚大学诞生。
世界上第一台通用计算机”ENIAC”于1946年在美国宾夕法尼亚大学诞生。

Python函数中的那些参数的使用

Posted on 2019-09-17 | In Python入门 |

什么是函数参数,快速定义一个函数

所谓参数,就是我们在定义这个函数的时候,可以接收一些“变量”来操作,
比如我们定义一个求和的函数:

1
2
3
4
5
def get_sum(a, b):
sum = a + b
return sum

print(get_sum(3, 4))

7

这里的 a 和 b 就是 get_sum 这个函数的参数,
那么当我们需要求和的时候,只需要将我们要求和的数传进去就行了:
这就是函数中最简单的参数使用。

参数是一个列表

修改列表,传入列表参数

1
2
3
4
5
6
def change_list(list):
list[1] = 'python'

mylist = [1, 2, 3, 4]
change_list(mylist)
print(mylist)

[1, ‘python’, 3, 4]

直接传入列表参数:

1
2
3
4
def change_list(list):
list = [1, 'python', 3, 4]
print(list)
change_list(list = [1, 2, 3, 4])

[1, ‘python’, 3, 4]

1
2
3
4
def change_list(list):
list = [1, 'python', 3, 4]
print(list)
change_list([])

有参数的函数在调用时必须传入参数

调用函数时指定参数名,这样就不用考虑参数的顺序了
如不写参数名,则按函数参数顺序传入

1
2
3
4
5
def print_some(length, age):
print('年龄:', age)
print('长度:', length)

print_some(age=40, length=18)

年龄: 40
长度: 18

参数的一些别样用法

传入多个参数

在参数名称的前面添加星号,表示这个位置的参数可以是多个,
比如这里我们定义可以传入多个 age:

1
2
3
4
5
6
def print_some(length, *age):
print('年龄:', *age)
print(age)
print('长度:', length)

print_some(18, 1, 2, 3, 4, 5, 6, 7, 8)

函数中的参数,如果在前面加一颗星, 那么这个参数可以接收多个,并且最后都转化成元组。

年龄: 1 2 3 4 5 6 7 8
(1, 2, 3, 4, 5, 6, 7, 8)
长度: 18

传入字典参数

如果用两个星的字典参数,在调用的时候必须要用字典的形式写明每个参数
返回结果也是字典形式数据结构

1
2
3
4
5
def print_some(length, **age):
print('年龄:', age)
print('长度:', length)

print_some(length=18, age1=1, age2=2, age3=3, age4=4, age5=5)

年龄: {‘age1’: 1, ‘age2’: 2, ‘age3’: 3, ‘age4’: 4, ‘age5’: 5}
长度: 18

Markdown语法

Posted on 2019-08-19 | In Markdown语法基础 |

一、标题

  1. 使用底线

    • 语法:
      一级标题
      ========
      二级标题
      --------
      这种语法只支持2级标题
    • 效果:
  2. 使用#号
    想要设置为标题的文字前面加#来表示
    一个#是一级标题,二个#是二级标题,以此类推。
    支持六级标题。
    注:标准语法一般在#后跟个空格再写文字

    • 语法:
      # 这是一级标题
      ## 这是二级标题
      ### 这是三级标题
      #### 这是四级标题
      ##### 这是五级标题
      ###### 这是六级标题
    • 效果:

二、字体

  1. 语法:
    加粗:**这是加粗的文字**
    倾斜:*这是倾斜的文字*
    斜体加粗:***这是斜体加粗的文字***
    删除线:~~这是加删除线的文字~~
  2. 效果:
    加粗:这是加粗的文字
    倾斜:这是倾斜的文字
    斜体加粗:这是斜体加粗的文字
    删除线:这是加删除线的文字

三、引用

在引用的文字前加>即可。
>这是引用的内容
引用也可以嵌套,如加两个>>三个>>>n个…
貌似可以一直加下去,但没神马卵用

语法:
>这是引用的内容
>>这是引用的内容
>>>这是引用的内容
>>>>这是引用的内容
>>>>>这是引用的内容
效果:

这是引用的内容

这是引用的内容

这是引用的内容

这是引用的内容

这是引用的内容

四、分割线

  1. 语法:
    ---
    ----
    ***
    *****
  2. 效果:




五、图片

  1. Markdown语法
    ![百度](https://www.baidu.com/img/bd_logo1.png ‘’BAIDU’’)

  2. 插件:hexo-asset-image 方法

    1. 在根目录下配置文件_config.yml 中有 post_asset_folder:false改为true。
      这样在建立文件时,Hexo会自动建立一个与文章同名的文件夹,
      这样就可以把与该文章相关的所有资源(图片)都放到那个文件夹里方便后面引用。如这里我放了一张test.jpg的图片。

    2. git bash安装插件:npm install https://github.com/7ym0n/hexo-asset-image –save
      (这是个修改过的插件,经测试无问题),
      使用这个插件来引入图片,
      而不是网上那些方法里说的用传统md语法相对路径的方法。

    3. 插入图片时用这种方式:
      其中test.jpg就是你要引用的图片,我这里就是test.jpg,
      后面的This is an test image是图片描述,可以自己修改。

      1
      {% asset_img test.jpg This is an test image %}
    4. 这样就能成功显示了,测试下吧:hexo cl && hexo g && hexo d

六、超链接

Markdown 支持两种链形式的链接语法:行内式链接和参考式链接。

  1. 行内式链接
    Markdown 中行内式链接的语法是用
    方括号包裹链接文字,后面紧跟着括号包裹的链接地址。
    • 标记语法:
      [链接文字](链接地址 “Title”)
      语法说明:
      Title 在链接地址后使用单引号和双引号括起来,可以省略;
      [简书](http://jianshu.com\)
      [百度](http://baidu.com\)
    • 效果:
      简书
      百度
  2. 参考式链接
    Markdown 中参考式链接的语法是
    通过一个标记把要链接的文字和内容相匹配的。
    • 标记语法:
      [链接文字][链接标记]​
      [链接标记]:链接地址 “Title”
      语法说明:
      链接标记可以有字母、数字、空白和标点符号;
      链接标记不区分大小写;
      链接地址可以放在当前文件的任意位置;
      Title 在链接地址后使用单引号、双引号或括号包裹起来,可以省略;
    • 语法:
      万物皆可搜[百度][1]或者[知乎][2]
      下面两行的链接地址可以放在文中任意位置
      [1]:https://www.baidu.com/ “排毒”
      [2]:https://www.zhihu.com/ “知乎”
    • 效果:
      万物皆可搜百度或者知乎
  1. 自动链接
    URL 或邮箱地址使用 <> 包裹起来会被自动转换为超链接。
    • 语法:
      <https://www.baidu.com/>
      <https://www.zhihu.com/>
    • 效果:
      https://www.baidu.com/
      https://www.zhihu.com/

七、列表

Markdown 语法支持有序列表和无序列表,
有序列表由数字 + 英文句号 + 空格 + 列表内容标记,
无序列表由星号/加号/减号 + 空格 + 列表内容标记。

  1. 有序列表
    • 语法:
      数字 + 英文句号 + 空格 + 列表内容
      1. 语文
      2. 数学
      3. 英语
    • 效果:
  2. 无序列表
    • 语法:
      星号/加号/减号 + 空格 + 列表内容标记
      + 加号标识无序列表
      - 减号标识无序列表
    • 效果:
  • 加号标识无序列表
  • 减号标识无序列表
  1. 嵌套列表
    • 语法:
    • 效果:
  • 第一层列表

    • 第二层列表

      • 第三层列表
        • 第四层列表
    • 有序列表与无序列表也可以互相嵌套使用

    • 效果:

  1. 第一层列表
    • 第二层列表
      1. 第三层列表
        • 第四层列表
      2. 第三层列表
        • 第四层列表

八、表格

姓名 技能 排行
刘备 哭 大哥
关羽 打 二哥
张飞 骂 三弟

九、代码

1
2
3
4
5
6
7
8
def fib(n):
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()

fib(1000)
1
2
3
4
5
def print_some(length, **age):
print('年龄:', age)
print('长度:', length)

print_some(length=18, age1=1, age2=2, age3=3, age4=4, age5=5)

十、流程图

略……

十一、Markdown需要转义的字符

\\ 反斜杠

\` 反引号

\* 星号

\_ 下划线

\{\} 大括号

\[\] 中括号

\(\) 小括号

\# 井号

\+ 加号

\- 减号

\. 英文句号

\! 感叹号

就是想输出什么特殊符号就在前面加 \

1…45

LST

Python编程学习, 程序化思维提升, 总结

43 posts
7 categories
222 tags
© 2020 LST
Powered by Hexo
|
Theme — NexT.Muse v5.1.4