• Python学习一:基础语法


    ---恢复内容开始---

    本博客主要记录学习Python的过程(按照金角大王老师课程学习),整理所学知识,扎实基础。如有错误,望批评指正。

    1.Python所擅长的领域

      Python是一门解释型语言,主要擅长的领域如以及对应的框架如下:

       (1) Web开发

         Django/pyramid/Tornado/Bottle/Flash/WebPy

         (2) 网络编程

         Twisted/Requests/Scrapy/Paramiko

         (3) 科学计算

         SciPy/Pandas/Ipython

         (4) GUI图形开发

         wxPython/PyQT/Kivy

         (5) 运维自动化

         OpenStack/SaltStack/Ansible/腾讯蓝鲸

     2.字符编码

      在计算机中,所有的数据都是以0101的形式存储在计算机中,0和1不同的组合可以组合出不同的数字,所以数字在计算机中存储较为方便。

      那么如何存储字符呢?

      就需要为字符赋予一定的数字,计算机存储数字,根据数字的值就可以知道所对应的字符,这就是ASCII码表。在ASCII码表中,使用7或8位来表示128或256个字符。所有的字符加起来总共是128个,后128个是扩展ASCII码。用于其他语言的扩展。

      ASCII码表可以完美的表示英文字符,但不能支持中文,那么如何让计算机存储中文呢?需要重新定义一套编码规则,

      1980年我国相关组织提出GB2312编码,共收录6763个汉字

      1995年,又提出GBK编码,共收录21003个汉字(兼容GB2312)

      2000年,提出GB18030编码,支持更多的汉字,包括少数民族文字等(兼容GBK)

      各个国家都在提出不同的编码,为了避免不同国家多个编码的存在,相关组织就提出了一种可以代表所有字符和符号的编码,即Unicode

      Unicode编码中中文需要占用两个字节,所以在Unicode编码中 英文、中文统一用两个字节表示,对于英文字符来说占用的空间比较大。

      为了解决这个问题,出现了UTF-8编码。

      UTF8是一个可变长的编码方式,如果使用英文,占用一个字节。如果使用中文,占用三个字节。

      Python3相比较python2的变化是默认使用的是utf-8编码,如果python2中使用中文,需要在代码中声明使用的编码

     

    3.第一个Python程序

      学习一门语言,Hello World是入门最好的程序:

    print("Hello World!")
    

      在Pycharm中输入上述代码,在控制台即可输出“Hello World!”结果。

    4.Python中的变量

      Python是要给弱类型的语言,其对变量的定义没有明确类型的声明。

      使用变量的例子如下:

    value = "Hello World!"
    print(value)
    

      输出结果如下:

    5.Python中的注释

      在Python中的注释方式:

      1.单行注释,使用“#”用于单行注释  例: #注释内容

      2.多行注释,使用三个单引号括住  或者 三个双引号括住 进行注释  例:'''注释内容'''   或者 """注释内容"""

      注:多行注释的三个单引号或三个双引号注释  也可用来定义多行字符串变量,如下所示:

    value = '''Hello World!
            世界你好'''

    6.格式化输出

      按照一定的格式输出结果,在Python中有如下三个方式

      (1)字符串拼接

    name = "张三"
    age = "20"
    sex = ""
    info = name + '''个人信息
    name:'''+ name + '''
    age:''' + age + '''
    sex''' + sex
    print(info)

        输出结果:

      (2)占位符

    name = "张三"
    age = "20"
    sex = ""
    info = '''%s个人信息
    name:%s
    age:%s
    sex:%s'''%(name,name,age,sex)
    print(info)

      输出结果和上述相同

      占位符%s表示的是字符串,也有其他的类型,如%d整数等。

      (3)format两种格式

        a.定义变量

    name = "张三"
    age = "20"
    sex = ""
    info = '''{_name}个人信息
    name:{_name}
    age:{_age}
    sex:{_sex}'''.format(_name=name,_age=age,_sex=sex)
    print(info)

      输出结果与上述相同。该方式需要在字符串中定义变量,然后在format方法中完成变量和值的绑定。

        b.定义位置下标

    name = "张三"
    age = "20"
    sex = ""
    info = '''{0}个人信息
    name:{0}
    age:{1}
    sex:{2}'''.format(name,age,sex)
    print(info)

      该种方式可读行较差。

    Python格式化输出一般采用format的第一种形式。

    7.input的方法说明

      程序一般要与用户进行交互,即可以接收用户的输入,在Python中input方法用来接收用户的输入。

    name = input("name:")
    print(name)

     输出结果

    input方法在Python3中默认输入的类型是str,但有的时候需要使用其他类型,如年龄,这个时候需要强制类型转换

    age = int(input("age:"))

      注:这块与Python是弱类型语言并不冲突,age并没有明确的类型定义,这里需要强制转换是因为在使用age的时候是按照整型来使用的。

    8.if ..else语法

      if和else语法见代码:

    name = input("name:")
    
    if name == "张三":
        print("你是%s"%(name))
    elif name == "李四":
        print("你是{_name}".format(_name=name))
    else:
        print("不欢迎你!")
       print("这里也是else条件要执行的")

      if else 语句中要有冒号,且有严格的缩进,缩进不同,代码级别不同

    9.while 语法

      见代码:

    my_age = 27
    count = 1;
    while count < 3:
    
        guess_age = int (input("age:") ) #input在python中默认输入的是字符串str,这里需要强制转换成int
    
        if guess_age == my_age :
            print("you are right!")
            break
        elif guess_age > my_age :
            print("think smaller!")
        else :
            print("think bigger!")
        count += 1
    else :
        print("you have tried too times")

    while后面可以使用else.

    10.for语法

      见代码:

    for i in range(10):
        print("循环:",i)
    

      上述代码会一次打印出0-9的值

    range中还有步长参数,如要输出0-10中所有的偶数,只需设定步长是2即可

    for i in range(0,10,2):
        print("循环:",i)
    

      输出结果:

    注:for和while都可以后面跟一个else,当正常执行完时,可以执行else,若通过break终止循环时,不执行else

    11.其他

      Python中如何输入密文?

      需要引入getpass模块

        引入模块的方式:import getpass

        使用模块的中输入方法可以密文输入密码:

      具体代码:

    import getpass
    password = getpass.getpass("password:")
    print(password)

      在cmd中测试结果如下:

    getpass在pycharm中存在bug,所以在命令行中演示。

    下面是一个猜数游戏,游戏本身并不完整,主要是练习所学知识。

    import random   #导入随机数模块
    
    number = random.randint(0,100)    #被猜的数字
    count = 0
    result = False
    while count < 3:
        _num = int(input("请输入数字:")) #input默认是str类型,转换成int类型
        if _num > number :
            print("猜大了")
        elif _num < number :
            print("猜小了")
        else :
            print("猜对了")
            result = True
        count += 1
        if count == 3 or result :
            choose = input("游戏结束!!!是否继续?")
            if choose == "n":
                break
            count = 0

    ---恢复内容结束---

  • 相关阅读:
    编程语言
    MySQL之常用函数
    Java常用工具类
    数据结构
    Java对接SAP平台接口
    Maven项目依赖管理工具
    Java设计模式--抽象工厂
    Java基础--抽象类与接口
    Java集合--ArrayList遍历删除元素
    Java注解(Annotation )--结合拦截器实现是否登录验证
  • 原文地址:https://www.cnblogs.com/zhangyongJava/p/8431132.html
Copyright © 2020-2023  润新知