zoukankan      html  css  js  c++  java
  • python基础(一)

    今天主要讲的是python的注释、用户的交互方式、python基本数据类型、运算符的知识点。

    注释就是对代码的解释,python解释器不识别它,大项目中的注释可以给程序员带来很多方便。

    我们通常有两种注释方式:一个是用 # 作为单行注释,另一个是用三引号作为多行注释(可以是三个单引号,也可以是三个双引号)。

    输入方面,也有不同。

    python3.x版本解释器中的输入关键字input()获取的用户输入统一全部存成字符串类型,如下代码中[1,2,3,4]本因是list数据类型却被存成str类型。

    >>> name=input('please input:')
    please input:jason
    >>> name
    'jason'
    >>> type(name)
    <class 'str'>
    >>> name=input('please input:')
    please input:[1,2,3,4]
    >>> name
    '[1,2,3,4]'
    >>> type(name)
    <class 'str'>

    python2.x版本解释器中的输入关键字input()则需要人为告诉input,程序员输入的是什么类型的数据类型,如下代码中在仅仅输入jason而不是'jason'时就会出现NameError: name 'jason' is not defined的错误,且输入[1,2,3,4]数据时就是我们认知的list类型数据。

    >>> name=input('please input:')
    please input:jason
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "<string>", line 1, in <module>
    NameError: name 'jason' is not defined
    >>> name=input('please input:')
    please input:'jason'
    >>> name
    'jason'
    >>> type(name)
    <type 'str'>
    >>> name=input('please input:')
    please input:[1,2,3,4]
    >>> name
    [1, 2, 3, 4]
    >>> type(name)
    <type 'list'>

    而raw_input()会将用户输入的数据统一也存为字符串形式。

    >>> name=raw_input('please input:')
    please input:jason
    >>> name
    'jason'
    >>> type(name)
    <type 'str'>
    >>> name=raw_input('please input:')
    please input:[1,2,3,4]
    >>> name
    '[1,2,3,4]'
    >>> type(name)
    <type 'str'>

    我们要知道,用户输入的一般都是字符串形式;另外代码一旦被改动,就必须重新执行一下所改动的py文件,否则程序执行的还是你未改动之前的代码。

    格式化输出方面,我们给定两个需要输入的值,name、age。

    下图中是最直接的先输出name,再输出age:

    # my name is 用户输入的用户名 my age is 用户输入的年龄
    name = input('username:')
    age = input('age:')
    print(name)
    print(age)

    接着是另一种看似改变了形式的输出方式:

    # my name is 用户输入的用户名 my age is 用户输入的年龄
    name = input('username:')
    age = input('age:')
    print(name,age)

    我们会发现它们的输出结果格式是相同的:

    因为input自带换行作用,通常一个print独占一行。那么,我们再试试加入占位符%s、%d:

    # my name is 用户输入的用户名 my age is 用户输入的年龄
    name = input('username:')
    age = input('age:')
    print('my name is %s my age is %s'%(name,age))

    这个结果不难看出,输出结果与%(name,age)相对应。

    # my name is 用户输入的用户名 my age is 用户输入的年龄
    name = input('username:')
    age = input('age:')
    print('my name is %s my age is %s'%(age,name))

    这个结果我们发现,占位符的作用就是谁在前面就是谁先输出,它的个数必须一致。%d只能给数字占位,%s可以给任意数据类型占位。

    另外,关于print(‘%08d’%123),整数是8位,传入的数不够8位的话默认用0补全,超出8位时,是多少就是多少。

    数据类型

    数据是衡量/记录事物的状态/特征,不同的数据应该有不同的存储类型。

    • int整型,float浮点型,str字符
    • list[ ]列表  # 在it行业,通常数据索引都是从0开始的
    • bool布尔类型:比较 时用'==';比较 id 时用'x is y',这个is比较的是两个变量对应的id是否相等,且id相等的情况下,值一定相等;而id不相等的情况下,值有可能相等。
    • long长整型只有python2.x里面才用
    • dict{ }字典(很重要的知识点):
      • 能够存储多组数据,存取的数据有对应的描述,可以明确表示数据表示什么;
      • 大括号内村多个元素,元素的格式key:value形式存储,键值对与键值对之间用逗号隔开;
      • key通常是描述vale的描述性信息,key通常存的是字符串;
      • value就是描述性信息对应的真实的数据;
      • 字典是无序的且暴露给用的可以操作的部分只有key,无法直接获取到value。

    运算符

    算术运算

    • print(10/3) 结果保留小数部分
    • print(10//3) 结果只保留整数部分
    • print(10%3) 结果取余数
    • print(10**3) 10的三次方

    比较运算:==,!=,>,<,>=,<=,其中!=表示不等于。

      比如print(10 > 3)、print(10 > 3.1)、print(10 != 9),数字之间是可以互相比较大小的。

      关于字符串方面:

        # a = 'hello'

        # b = 'z'

        # print(b > a)

      这个就运用到ASCLL码,而且A-Z、a-z中z对应的数字最大,A对应的数字最小。

    赋值运算:a = 10,b = 20这种就行。

    • 增量赋值:x += 1相当于x = x + 1
    • 链式赋值:o = m,m = n,n = o
    • 交叉赋值:m,n = n,m
    • 解压赋值:l = [1,2,3,4]

        a = l[0]
        b = l[1]
        c = l[2]
        d = l[3]

        a,b,c,d = l   # 前面的变量个数与后面的元素个数必须相等

        print(a,b,c,d)

        若a,_,_,d = l

        print(a,d)结果为[1,4]

        print(_)结果为[3]

        若a,*_,d = l

        print(_)结果为[2,3]  # 这种情况也适用于超长列表

    逻辑运算

    • 与and;或or;非not
    • print(1 >0 and 3>4)  # and两边必须同时成立才会true
    • print(1 > 0 or 1 > 0 and 3>4)  # 只要有一边成立就全部成立true
    • print(not 1 > 3)  # 结果为true
  • 相关阅读:
    android使用广播退出应用程序
    Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW _TASK flag.
    Android获取屏幕尺寸大小
    onActivityResult不被执行的问题。
    ADB操作多台设备
    在Eclipse的DDMS中查看手机data文件夹中的内容
    JDK版本过高,导致Eclipse报错
    Android colors.xml
    Eclipse智能提示
    在配置IIS负载均衡时,引起的一系列问题
  • 原文地址:https://www.cnblogs.com/zhukaijian/p/11116395.html
Copyright © 2011-2022 走看看