java到python的入门

1. 注释和续行符

  • python使用#开始注释 和Linux的一样
  • 如果一行语句很长 要分成多行 则需要使用\在每行最后续行
  • 当多行之间有括号等连接时 则不需要使用续行符
  • python使用换行结束一条语句
  • 同一行要写多个语句 则使用分隔即可

1. 判断语句

  • 语句格式
 if exp:
    syntax0
 elif:
 	syntax1
 	if exp1:
 		syntax3
 	else:
 		syntax4
 else:
    syntax5
  • 注意判断表达式没用括号括起来 遵循续行符规则
  • 判断表达式最后无论if还是else都必须要有结束
  • elif就是else if 同等缩进为同一条件结构 嵌套条件也是缩进实现

1. 语句块

  • 增加缩进表示增加语句块
  • 同级语句块 有相同缩进数量
  • 减少缩进 表示语句块的退出

1. 输入输出

  1. 输出

    • 使用print("exp") 或者print(var)输出字符串或者变量

    • print(var1,var2...)

    • 格式化输出 类似与C中的printf 但有两种方式 根据%隔开 或者用{[参数序号:参数格式]}+format输出

      Int:
          str='python'
          x=len(str)
          print('the length of %s is %d' %(str,x))
      Out:
          the length of python is 6
          
      Int:
          str='python'
          x=len(str)
          print('the length of %s is %d' %(str,x),end='--')
      Out:
          the length of python is 6--  #不带换行符   
      >>> pi = 3.141592653  
      >>> print('%10.3f' % pi) #字段宽10,精度3  
           3.142  
      >>> print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度  
      pi = 3.142  
      >>> print('%010.3f' % pi) #用0填充空白  
      000003.142  
      >>> print('%-10.3f' % pi) #左对齐  
      3.142       
      >>> print('%+f' % pi) #显示正负号  
      +3.141593
      
      Int:
          a = 'hello'
          b = 10
          c = 1.23
          d = 2.34567
          print('{} 和 {} 两人去找{:f}家里找 {:.3f} 玩'.format(a, b, c, d))
      
      Out:
          hello 和 10 两人去找1.230000家里找 2.346
  2. 输入

    • 使用x=input() 或者带提示的输入x=input('enter a string')
    • input()函数返回值默认为字符串
    • 使用x=int(intput()) 或者带提示的输入x=int(input('enter a num'))更改输入为整型 依次类推

1. 安装包

pip install 包名


1. 运算符

  1. 算术运算符
    • 乘方**
    • 整除//
    • 其余和Java的一样
  2. 位运算符 和Java区别不大
  3. 比较运算符
    • Java区别不大
    • 支持连续比较 更人性化 如3<4<7 4<6==7
  4. 逻辑运算符 和jstl的类似 用英文单词not and or

1. 变量

  • python是动态的强类型语言
  • 变量第一次赋值 同时获得值和类型。不要显示指定类型
  • 引用的方式实现赋值 指向值所在的内存单元
    1. 支持增量赋值X+=5
    2. 支持链式赋值X=x=6 python区分大小写
    3. 支持多重赋值 等号两边以元组的方式出现
      • (x,y)=(1,2)
      • x,y=y,x
  • 作用域
    • 全局变量
      • 在主函数主体的变量是全局变量
      • 在自定义函数中 若用global关键字修饰的变量 也是全局变量
    • 局部变量
      • 在自定义函数和循环语句中有局部变量
      • 全局变量和局部变量同名时 局部变量可见。若要让全局变量可见 则用global关键字

  1. 数据类型(type(var/exp) 会显示类型)
    1. (长)整型(区分不大)
      • 范围:(几乎不会溢出)
      • 32位机器:-2^31~2^31-1
      • 64位机器:-2^63~2^63-1
    2. 浮点型
    3. 复数型
      • complex虚数部分必须有j
      • a+bj
      • 分离实数和虚数部分
        • .real
        • .imag
        • .conjugate()获得原复数的共轭复数
    4. 布尔型
      • True False
      • 本质存1 0
    5. 字符串
      • 'str'
      • "str"
      • '''str''' 由三个单引号构成的三引号,里面可以使用单双引号,而且多行时,不需要续行符
    6. 列表
      • 强大的类型 用方括号[]界别 属于可变类型
    7. 元组
      • 与列表类似 用小括号()界别 属于不可变类型
    8. 字典

1. 函数

  1. 内建函数

    • 无需导入可直接使用 比如help round range(var,[...])

    • 使用dir(__builtins__)查看所有内建函数以及常量 使用help(函数名)查看某个函数的帮助

    • range(start,end,step) range(start,end) range(end)后两者则默认步长是1 返回值是list对象

      [外链图片转存失败(img-q8rnBu24-1569199919845)(/home/yang/Desktop/%E6%B7%B1%E5%BA%A6%E5%BD%95%E5%B1%8F_%E9%80%89%E6%8B%A9%E5%8C%BA%E5%9F%9F_20190919160032.gif)]

  2. 实用函数

    1. 需要导入才可以使用
    2. 导入模块或者函数本身
      • 模块是一个完整的python文件 模块是对应与.py的物理组织方式 下的逻辑上的组织方式
      • python使用import 模块
      • 导入多个模块 import name1,name2,...
      • 导入模块中指定的属性 from Module1 import ModuleElement
    3. 导入包(有层次的文件目录结构)
      • 导入import AAA.BBB.CCC.c1 使用AAA.BBB.CCC.c1.func1()
      • 导入from AAA.BBB.CCC.c1 import func1 使用func1()
      • 是一组具有相关功能的模块集合
      • python的一大特色 是具有强大的标准库 第三方库 自定义模块
  3. 自定义函数

    1. 基础语法

      def function_name([args]):
          'optional doc string'
          function_body
      
      • 例子

        def add2(x):
            'apply operation + to arg'
            return x+x
        add2(3)
        
        -----6
        
        from math import sqrt
        def isprime(x):
            if x==1:
                return False
            k=int(sqrt(x))
            for j in range(2,k+1):
                if x%j==0:
                    return False
            return True
        for i in range(2,101):
            if isprime(i):
                print(i,end=' ')
                
        -----2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
        
    2. 默认参数

      • 函数参数可以有默认值 以赋值语句的形式提供

        def f(x=True):
            if x:
                print('word')
            print('Ok')
        f()
        ------word
              Ok
        f(False)
        ------Ok
        
      • 默认参数的值可以改变 在函数调用的时候(如果需要的话 一般提供了则不需要)

      • 默认参数一般要放在参数列表的最后 防止引起歧义

    3. 关键字参数

      • 就是函数调用传参数的时候 使用f(形参名字=value,...) 指明每个参数传入的值

      • 关键字参数让开发者可以使用参数名区分参数,并且可以改变参数顺序

      • 使用了关键字参数 则所有参数赋值都要用关键字参数 不允许部分

        #如上述质数函数调用 isprime(6)改成
        isprime(x=6)
        
    4. 传递参数

      • 把函数当做参数

        def add2(x):
            'apply operation + to arg'
            return x+x
        def self(f,y):
            print(f(y))
        self(add2,4)
        
        ------8
        
    5. lambda函数

      • 匿名函数的一种 和c++ java的类似

      • 定义

        function_name = args : function_body
            
        r=lambda x:x+x
        r(8)
        -----16
        
    6. 返回值

      1. 返回类型为none 则返回对象个数是0
      2. 返回类型为Object 则返回对象个数是1
      3. 返回类型是tuple 元组 则返回对象个数是>1 和Java那些很不一样

1. 循环

  1. while循环 结合if结构比较容易理解

    In:sumA=0
        j=1
        while j<10:
            sumA+=j
            j+=1
        sumA
    Out: 45
    
  2. for循环

    • 语法:

      for iter_var in iterable_Object:
          suite_to_repeat
         
      
      
      # iterable_Object包括String List Tuple Dictionary File
      
      # 用于遍历一个数据集内的成员
      In:s='python'
          for c in s:
              print(c,end='')
          print() #输出一个换行符
      
          for i in range(3,11,2):
              print(i,end=' ')
      
      Out:
      	python
      	3 5 7 9 
          
        
      # 在列表解析式中使用 返回一个列表 用[]括起来
      [i for i in range(10)]
      	[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      [i+1 for i in range(10) if i%2==0]
      	[1, 3, 5, 7, 9]
          
      # 在生成器表达式中使用 返回一个生成器 用()括起来 其他和在列表解析式中使用一致
      
  3. 结合Java 使用breakcontinue也差不多

    • pythonelse可以while循环一起使用 特殊

      • 表示 如果循环从break处终止 跳出循环

      • 如果正常结束循环 则执行else中的代码

        Int:
            from math import sqrt
            num=int(input('please enter a number:'))
            j=2
            while j<=int(sqrt(num)):
                if num %j==0:
                    print('{:d} is not a prime'.format(num))
                    break
                j+=1
            else:
                print('{:d} is a prime'.format(num))
                
        Out:
            please enter a number:26
        	26 is not a prime
        
  4. 和递归

    def fib1(x):
        a,b=0,1
        count=1
        while(count<x):
            a,b=b,a+b
            count+=1
        return a
        
    def fib2(x):
        if x==0 or x==1:
            return x
        else:
            return fib2(x-1)+fib2(x-2)
        
    def hanoi(a,b,c,n):
        if n==1:
            print(a,'->',c)
        else:
            hanoi(a,c,b,n-1)
            print(a,'->',c)
            hanoi(b,a,c,n-1)
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值