zoukankan      html  css  js  c++  java
  • 计算机科学导论学习笔记

    在python中字符“”不能和数字相加,但是能乘,就是连续输出多个相同字符。

    选取子字符串,例如:

    name=Joanna

    print(name[2:4])

    得出的结果就是an

    J是0,o是1,a是2,从a开始输出,到第四个但是不包括第四个,所以是an。

    s[0:-1+1]=s[0:0]从0开始在0之前结束,0和0之间没有字符所以是一个空字符集。

    如果S是个空字符集,则s[0]是错误的,因为找不到第一个字符,但s[0:0]或者s[12:12]都是' '空集。

    s[:-1]是s集的第一个到最后一个字符但不包括最后一个。

    当s='Hi'的时候,s[:3]+s[3:]='Hi'表示全集,但是s[3]就是错误的因为不存在第四个字符。

    子字符串查找函数

    a.find(b)

    a是全集,b是需要在a内查找的子字符串。这个函数返回的是b在a中第一次出现的位置,因此返回值是一个数字,若不存在则返回-1。

    不论s字符串是什么,s.find(' ')对空字符串的查找结果将始终是0

    此函数还可以传递两个参数,a.find(b,5)是指在a中查找b第一次出现的位置,不过要从a的第五个字符后开始搜索。

    .find函数括号里要查找的字符串必须要加''否则会报错。

    若第二次找”还是从第一次找的位置开始的话依旧定位到第一次找到“的位置,所以输出的内容是空。

    错误改正:

    现在我们就能找到网页中的第一个Link。

     其他的语言例如JAVA和C使用很多括号和封号来告诉编译器程序的开始和结束,而python中是用空格和缩进的位置来判断何处结束,所以和其他语言不同,python中空格也很重要。代码的结构会说明代码的意义。所以在python中不要改变空格和缩进还有换行之类的东西(他们的意义就相当于大小括号和封号),不然代码的意义会改变。

    第二单元:

    新知识点:过程(procedure)是一种封装代码的方法,我们可以比以往更有效的使用它。

    第二个是:控制(control)控制结构将会给我们一个方法去持续找到页面Pages上的所有链接links。

    自己定义一个 procedure:

    当缩进结束证明正文部分结束。

    例如:

    def movie(movie_title,movie_link,movie_trailer...):

      slfjwilfjwifjijfiofj(是procedure的正文部分)

     movie_title等等的叫做输入,也叫操作对象,还叫参数。

    一个过程(其实就是一个函数)的主要目的就是要把输入通过一种方式映射到输出上去,所以第一步要搞清楚一个过程的输入和输出是什么。

    none表示没有任何的值,因为sum这个函数定义里没有任何返回值,它只是对ab的值进行了操作,所以不会输出任何东西。

    在程序里面加上print语句会帮助我们了解程序的具体情况,是debug调试很重要的一部分。

    例如like this

    就能明白你的程序运行了之后到底发生了什么。程序的确进行了一些操作,a的值确实进行了改变但是没有任何输出的结果。

    没懂。。。

    不得不说python真的很牛杯,都不用定义变量类型的嘛。。。直接就相加能连接字符。

    前面几节课的课件:

    https://www.udacity.com/file?file_key=agpzfnVkYWNpdHl1ckcLEgZDb3Vyc2UiBWNzMTAxDAsSCUNvdXJzZVJldiIHZmViMjAxMgwLEgRVbml0GIH0AwwLEgxBdHRhY2hlZEZpbGUYwaYIDA

    c和python的区别,python的简便之处:

    如果x值小于0判断为真,输出它的相反数,因为return语句是在if语句的缩进之外,所以不论if判断结果如何都会返回x值。如何x>0,则if判断为假,不执行x=-x,直接输出x,所以此函数的功能为输出x的绝对值。

    如果是c的话:

    int x

    scanf x

    if (x<0)

      x=-x;

      return(x);

    else return(x);

    看!多麻烦!还是python好使!给python表个白!

    像==,<,>这样的对比符号本来就是判断,如果是真则返回True,否则返回False。

    所以不用像这样麻烦:

    or这个运算的妙处:a or b,只要有一方为真结果就为真,所以当第一部分为true就不用处理第二部分,如果第一部分为false则得看第二部分了。

    这个get_next_target函数运行完会有两个返回值,所以在最后想输出这两个值需要先赋值,再输出。

    Like this:

    如果不赋值直接运行由于函数里没有print语句,所以没有任何输出内容。

    like this:

    另一个知识点:

    所以判断的内容并不一定是要true或者false

  • 相关阅读:
    LeetCode
    (六)6.5 Neurons Networks Implements of Sparse Autoencoder
    (六)6.4 Neurons Networks Autoencoders and Sparsity
    (六) 6.3 Neurons Networks Gradient Checking
    opencv::调整图像亮度与对比度
    opencv::两张图片的线性融合
    opencv::源码编译
    日志::spdlog
    std::is_same
    json::rapidjson工具
  • 原文地址:https://www.cnblogs.com/Yiren-33/p/6704465.html
Copyright © 2011-2022 走看看