python基础

(一)pycharm的使用

     1.pycharm的常用快捷键

  • Crtl+D:复制上一行。
  • Tab+CapsLock:向后缩进。
  • Tab+shift:向前缩进。
  • Ctrl+?:多行同时注释。
  • Home:移动至本行最前面。
  • End:移动至本行最后面。
  • Ctrl+Alt+L:自动调整格式。

     2.sogo输入法和pycharm的不兼容处理办法。

  • 第一步:点击【File】---【Setting】---【Editor】---【File Encoding】页面,设置global 和project encoding为UTF-8,然后点击应用。
  • 第二步:点击【File】---【Setting】---【Editor】---【File and Code Templates】,点击右边的【python script】,在编辑框中输入:# -*- encoding:utf-8 -*-。(该步骤主要是解决python2和python3的兼容问题。)
  • 第三步:设置好后,重启下pycharm。
  • 第四步:将你的搜狗输入法更新到最新。
  • 通过以上4步即可解决问题。

(二)python的基础知识

     1.python2x和python3x的区别。

  •     python2x:源码重复,冗长。
  •     python3x:将源码规范化,简单化,清晰化。    

     2. 编程语言的划分

  • 解释型:代码逐行解释逐行运行。
    • 代表语言:python,php。
    • 优点:开发效率高,跨平台。
    • 缺点:执行速度慢。
  • 编译型:将代码一次性全部编译成二进制,然后执行。
    • 代表语言:C,C++。
    • 优点:执行速度高。
    •  缺点:开发效率低,不能跨平台。

                  说明:解释型语言是转行为字节码,之后边执行边翻译成机器码。

       3.python语言的优缺点

  •     优点:
    •  开发效率高,python含有N多个第三方库。
    •  高级语言,不用考虑底层或者内存级别。
    •  可拓展性。可以加入C++的程序。
    •  可嵌入性。可将python代码嵌入到C++程序中。
    •  可移植性。不同平台的移植。
  •     缺点:
    • 执行速度相对慢。
    • 代码不能加密。
    • 多线程的问题。

      4.python的种类

  • Cpython:官方推荐,用C语言写的。
  • Jpython:可以在Java平台上运行的,可以解释成Java识别的字节码。
  • Ironpython:可以在.net平台上运行的,可以解释成.net识别的字节码。
  • Ipython:在Cpython基础上拓展的,交互式的解释器。
  •  pypy:利用JIT技术,实现了动态编译,执行速度非常快。

     5.变量

  •  变量命名的规范:
    • 变量必须要有数字、字母、下划线任意组合。
    • 变量不能数字开头。
    • 变量名不能是python中的关键字。关键字['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not','or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']。
    • 变量要具有可描述性。【错误举例: name = 12】
    • 变量不建议使用中文。
    • 变量不能过长。
    • 官方推荐使用“下划线形式”【两种形式举例:驼峰体:AgeOfOldboy = 56;下划线:age_of_oldboy = 56】
  • 作用:将程序中运算的中间结果保存起来,以便后续程序调用。

     6.常量

  • 作用:设置一些不变的量,放在文件的最前面。
  • 常量的形式:将变量全部大写即约定为常量。

     7.注释

  • 单行注释:用“#”进行单行注释。
  • 多行注释:''' 被注释内容 ''' 。
  • 注释原则:注释不宜多,宜精。

     8.基础数据类型知识

  •  整数(int)
    •  主要用于计算,计数,+-*/% **....。
    • 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647。
    •   在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807。
  •  字符串(str)
    •  在python中,凡是用引号引起来的数据都是字符串。
    •  name = '太白jin星'。
    •  单引号,双引号,三引号 引起来没有任何区别。
  •  布尔值(bool)
    • True:1。
    • False:0。

     9.Input的使用

  •  阻塞式的。程序会停留在这句话。等着用户输入。 当输入回车的时候,程序继续执行。
  • # input接收的所有内容都是字符串
    name = input("请输入你的名字:")   
    print("从控制台接收到的名字是:", name)
    
    # 这里的a是字符串, int(字符串) 把穿进去的字符串转换成int
    a = input("请输入一个数字:")   
    a = int(a)  # 把变量a的值变成整数
    print(a + 1)    

     

  • #整型与字符串的转换
    
    #int ---> str
    i1 = 100
    s1 = str(i1)
    print(i1,s1)
    print(type(i1),type(s1))
    #int <--- str (字符串必须全部由数字组成)
    s1 = '123'
    print(int(s1),type(int(s1)))

     

     10.if的使用

  • if 语句的5种结构
    • 结构1:单独if。
    • 结构2:if,else:二者必选其一。
    • 结构3:if ,elif,elif...。
    • 结构4:if ,elif,elif...,else。
    • 结构5:if的嵌套。
  • #结构1:单独的if
    if 2 > 3:
        print(666)
    print(333)
    
    #结构2:if,else:二者必选其一。
    name = input('>>>')
    if name == 'alex':
        print('He is SB')
    else:
        print(666)
    
    #结构3:if ,elif,elif...。
    num = int(input('>>>'))
    if num == 6:
        print('请你吃饭')
    elif num == 4:
        print('跟我回家...')
    elif num == 2:
        print('大宝剑')
    
    #结构4:if ,elif,elif...,else。
    num = int(input('>>>'))
    
    if num == 6:
        print('请你吃饭')
    elif num == 4:
        print('跟我回家...')
    elif num == 2:
        print('大宝剑')
    else:
        print('太笨了你....')
    print(666)
    
    username = input('请输入用户名:')
    password = input('请输入密码:')
    
    #结构5:if的嵌套。
    if username == 'alex' :
        if password == 'sb':
            print('成功登陆')
        else:
            print('密码错误')
    else:
        print('用户名错误')

 

    11.while的使用

  • # 循环:
    while True:
        print('忐忑')
        print('大悲咒')
        print('海草')
        print('想太多')
    
    # 标志位
    
    flag = True
    while flag:
       print(111)
       print(222)
       flag = False
       print(333)
    
    flag = True
    while flag:
       print(111)
       print(222)
       flag = False
       print(333)
    print(777)
    
    flag = True
    count = 1
    while flag:
        print(count)
        count = count + 1
        if count == 101:
            flag = False   
    
    
    count = 1
    while count < 101:
        print(count)
        count = count + 1 # count += 1
    
    
    
    # break 循环中只要遇到break就直接跳出循环。
    
    while True:
        print(111)
        print(222)
        break
        print(333)
        
    flag = True
    while flag:
       print(111)
       print(222)
       flag = False
       print(333)
    
    # continue: 遇到continue,跳出本次循环,继续下一次循环。
    
    while True:
        print(111)
        print(222)
        continue
        print(333)
    
    # while else: 只要while循环被break打断,则不走else程序;如果不被break打断,则while循环执行完成后,执行else的内容。
    
    count = 0
    while count <= 5 :
        count += 1
        print("Loop",count)
        if count == 3: 
            break
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")

     

posted @ 2018-10-19 20:56  马玉刚  阅读(231)  评论(0编辑  收藏  举报