在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