Python学习笔记--整理自《简明Python教程》

看完《简明Python教程》后,记录下来的一些知识点:


1. python语句结尾不需要分号,但如果要在一个物理行使用多于一个的逻辑行,需要使用分号隔开。分号表示一个逻辑行(语句)的结束。

2. 注释使用#

3. *表示乘法,**表示幂乘。如:3*4=12,3**4=81

4. python3.0以后,没有raw_input函数,只有input函数,这个就相当于raw_input。通过input输入的任何数据都相当于是字符串,需要强制类型转换,比如需要输入整数,则应写为int(input("Enter an integer: ")),引号中的是一句提示信息。

5. print函数的用法变成了print(sth),而不再是print sth

6. python3.0以后,而且4/3=1.33333,不再是1,跟4.0/3的结果相同。//表示取整除,即结果只取商的整数部分,如4//3=1

7. <<左移,>>右移。如:2<<2=8, 8>>2=2

8. &按位与,|按位或,^按位异或,~按位翻转

9. 没有&&,||,!,使用and,or,not表示布尔的与或非

10. if(for等)语句结尾有个冒号,表示下面是if(for等)的语句块

11. for in 循环 在使用range的时候相当于在集合[x,y)中逐一使用集合中的每个元素。如for i in range(1,5):i是从1到4的,没有5。

12. range的默认步长是1,可以设置步长,如range(1,5,2),步长为2,取值为1,3

13. for i in range(1,5):等价于for i in [1,2,3,4]:之间用逗号隔开,不能用空格隔开,这点又与matlab不同。

14. [1,2,3,4]基本格式是这样,他们之间可以随便加空格,如[1, 2, 3, 4],[ 1,2, 3,4],[1 ,2,3,4]这些都是对的

15. python中print("input is",i,"cm")等价于java中的System.out.println("input is "+i+" cm") 这里java中要用加号连接组成字符串,python中不用,原因是函数定义的时候格式不一样,python中会自动在各部分之间加空格(因为sep选项默认为‘ ’,如果不需要,则可设置为sep=''),java不行,所以虽然第一句的is后面没有空格,cm前面也没有空格,但跟java的输出完全一样。c++的是cout<<"input is "<<i<<" cm"<<endl 与java类似

16. 函数通过def关键字定义,如def sayHello():下来就是函数体了

17. python简明教程中47页的使用局部变量的例子我做了修改,因为原例子里面将x作为参数传递进去了,这样虽然结果一样,但原因是值传递还是局部变量就不清晰了,如果python中没有值传递这一概念的话,原例子是清晰的,但我不知道有没有,文中没说,可能以后会在其他地方见到吧
原代码:
def func(x):
    print("x is",x)
    x=2
    print("Change local x to",x)

x=50
func(x)
print("x is still",x)

修改后代码:
def func():
    x=2
    print("Inside of func x is",x)
x=50
func()
print("x is now",x)

18. python中想要在子函数内使用子函数外面定义的变量,需要在子函数内使用关键字global,如global x 则意味着x是定义在这个函数外面的变量。与MATLAB类似。

19. python定义函数的时候可以给形参默认值,但有默认值的形参要放到没有默认值的形参的后面,这点和c++一样

20. python可以在函数参数赋值时打乱顺序赋值,这时需要显式地给出参数名字。如def func(a,b):... 复制时可以这样:func(b=10,a=20)

21. 三引号('''或""")指示一个多行的字符串,其中可以自由使用单引号与双引号。在python的函数的文档字符串中就使用了三引号。如下:(doc前后都是两个下划线,文档字符串必须在其他所有内容的前面,三引号内的格式建议写成下面这样的,当然其他的也能运行)
def printMax(x,y):
    '''Prints the Maximum of two numbers.


    The two values must be integers.'''
    x=int(x)
    y=int(y)
    if x>y:
        print(x,"is maximum.")
    else:
        print(y,"is maximum.")


printMax(3,5)
print(printMax.__doc__)

22. python3.0以后的print如果想取消自动换行,使用如下结构:print("The first part is",end="")

23. print函数直接输出list的时候会带[],如果不想带[],可以使用for i in list:

24. 单个元素的元组这样使用:singleton=(2,)

25. 元组在print函数中使用:print("%s is %d years old"%(name,age))

26. 使用切片操作取得列表或其他序列的拷贝,如: mylist=shoplist[:]

27. 当在字符串中,不需要转义符时,可以在字符串前使用r或者R,如:r'This i\s a string.\n'

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值