Java程序员初学python

  1. python编程没有代码块,严格缩进
  2. python的常用数据类型,整型、浮点型和字符串
  3. python的字符串习惯用单引号(‘)来包围
    字符串连接:'abc' + 'edf'(合法),'abc' + 1(不合法,与java不同,需要显示将整数转为字符串)
    字符串复制:'abc' * 3 (将abc复制三次,并返回新的字符串,复制次数只能为int)
  4. 变量赋值(最简单粗暴的做法 paramName = value
    例如:str = ‘abc’, 不需要声明,且没有类型限定,也就是说str可以被重新赋值(在python里叫’覆写’)为非字符类型
  5. python变量名区分大小写
  6. python中的注释:# 文字文字文字
  7. 打印函数:print() (如同java里的syso)
  8. 输入函数:input()
    可接受用户输入的文本 (如 userInputStr = input(), 输入后回车继续执行,括号内可以加入提示用户输入的信息,但返回值只包含用户输入的文本)
  9. len()函数
    如果javascript中的length,接收字符串返回长度,接收列表、元组返回size,接收字典返回键值对个数
  10. 数据类型转换str()、int()和float()
    各自接收其他数据类型的值,可以分别转换为字符串、整型、浮点型
  11. python3里的比较操作符跟java里的一样
  12. 数值型的值永远不等于字符串的值
  13. python里的布尔操作符为and、or、not(能够分别对应java中的&& 、||、!)
  14. 两个布尔值分别为True和False
  15. 控制流语句
  1. if、elif、else
    python的控制流语句与java不同的地方之一就是写法不同:
    以if/else为例:
flag = True
    if flag :
        print ('The flag is ' + str(flag))

可以看到循环条件不用括号包裹,循环体不用大括号包裹,两者以冒号(’:’)分割,循环体要缩进

  1. while循环
    功能与其他语言一样,用法也是同if一样
flag = 1
while flag < 3:
   print ('The flag is ' + str(flag))
   flag = flag + 1

跳出循环也是用break和continue

  1. for循环和range()函数
    先说一下range函数,range()最多可以传三个参数,都是整数:
    range(end):从1开始步长为1,一直到end值结束,不包含end
    range(start,end):从指定的起始位start开始,步长为1,到end结束,不包含end
    range(start,end,step) :从start开始,间隔位step,到end结束,不包含end
    所以有了range函数,结合for就能实现循环了:
for i in range(10):
    print (i)
  1. 类真和类假值
    有些值,在条件表达式中会默认True和False
    0、0.0、‘’(空字符串)、空列表、空元组、空字典都认为是False,其他值被认为是True
  2. 导入模块
    python提供了一组基本的函数,称为内建函数。但也有一些其他函数在标准库的其他模块中,需要我们导入,例如导入random模块
import random
  1. 函数
  1. 定义
    定义一个函数并调用它:
def computeSum2Num(num1 ,num2):
    sumValue = num1 + num2
    print (str(num1)+'+'+str(num2)+'='+str(sumValue))
    return sumValue
computeSum2Num(1,2)

和JavaScript函数的定义类似,不过用def来定义

  1. None值
    None值表示没有值,类似与java中的null
    没有返回值的函数赋值给一个变量时,这个变量就是None值
  2. 关键字参数
    就是在调用函数时,指明哪个参数是什么值:
    例如刚才的computeSum2Num函数,我们这样来调用computeSum2Num(num2=2,num1=3)
    同样也能执行,这种方法不用考虑参数的顺序
  3. 名称相同的局部变量和全局变量
    局部变量如果和全局变量名称相同,那么在局部也只会调用局部变量,如果要在局部修改名称相同的全局变量,需要在局部声明此变量为global:
def xx():
    global num1
    num1 = 20
num1=10