zoukankan      html  css  js  c++  java
  • 第三章:数据类型和变量

    1.  变量的名命名规

     a.  只能由 字母 数字 及 _ 组成 。

     b.  不能以数字开头。

     c.  避免与系统关键字重名:重名不会报错,但系统的功能就被自定义的功能屏蔽掉了(严重不建议这样来做)

    注:以下关键字变为变量名直接会出现错误
    ['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']

    d.  以_开头的变量都有特殊含义。

    e.  以__开头与结尾的叫魔法变量:内置变量。

    f.   建议使用_连接语法来声明长变量名:owen_name   old_boy_edu。

    g.  支持小驼峰与大驼峰名命规范:owenName| OwenName(大驼峰与小驼峰的区别在于两个名词的首字母是否大写)  。

    e.  多个单词的简写建议使用全大写:URL  |   HTTP     |   HTML。

    h.  用全大写来标识常量: PI=3.1415926........ 。

    2.  常量:

    python中没有严格的常量语法:

         a.常量:在程序运行过程中,不能被改变的量。

         b.python中所有的量在运行过程中其实都能发生改变,只能自我保障不去改变全大写定义的变量值。

    3.  输入与输出 (注释):

    a.  py2: print(10) / print 10   =>>(py3中被遗弃);

    b.  py3: print(10) ;

    c.  py2:

    info = input('提示信息')

      #  可以输入一个值,但一定要按照值的表示方式进行输入,10就是数字‘abc’是字符串。

      #  如果输入的是abc,默认将abc作为变量来解读,如果变量abc未定义就报错;raw_input():采用所有输入都以字符串进行存储。

    d. py3:

    info = input('提示信息:')

      #  所有信息都是直接输入,都会被转换位字符串存储 == raw_input .

    e. 注释:不会被python解释器执行,是给开发者阅读代码的提示;

                   单行注释为 # 号开头的语句;

                    多行注释  出现在文件最上方,用  ''' '''  表示

                  pycharm 快捷键  Ctrl +  /

    4.  数据类型:

     a.  整形:

     py2下:数据过长用long类型存储 | 数据量小的整型用int存储
     py3下:long被遗弃 | 所有整型都用int存储(优化:数据量过大,采用字符串存储处理,如果需要运算,可以直接拿来运算)。

    b.  浮点型:

       float: 用来存放小数 。      salary =  8888888.888856.

       #  可以通过格式化方式来绝对输出格式

       #   %.6f % salary

       # 1)%f对浮点型数据进行占位

       # 2).后的数据数字表示小数精度

       # 3).前的数据是输出的长度,小于等于要输出的数据长度不起作用,超出就采用规定的最大长度

       # 注:%015.6f:右对齐,左侧不足拿0填充, %-15.6f: 左对齐输出print('%015.6f' % salary)

    c.  布尔型:

      # bool类型:就是两个值 True | False

      result = False

      print(result)

    d. 字符串型:

      # 单行字符串: "  " | ' '
      # 多行字符串: " " "    " " " | '''    '''

      # 案例:
      name = input('name: ')
      age = input('age: ')
      #   %s  是万能占位符, %是用来连接有占位符的字符串与需要占位的变量,多个变量用()包裹
      info = """信息:
      name: %s
      age: %s""" % (name, age)
      print(info)

    e.  列表

      # 1、定义:变量名 = [多个值,之间用,隔开]
                         ls = [3, 1, 2]

      # 2、列表变量名ls访问的是列表整体
                         print(ls) # [3, 1, 2]

      # 3、通过索引(index)来访问具体的值,index从0开始编号:

                         ls[index]
                         print(ls[0])

                         # 3

      # 4、ls的嵌套及值的访问
                         ls = [[1, 2, 3], [4, 5, 6], [7, 8, [9]]]
                        # 访问数字9
                       print(ls[2][2][0])

      # 重点:list存放值的方式: eg:[3, 1, 2] => 列表的0号位存放的不是数字3,而是堆区3空间的地址

    d.字典

      #   列表能存放多个值,但多个值只能通过index区分,但是index没有语义
      #   需找即可以存放多个值,且每个值有一个语义描述 => dict类型
      #   定义:{}是用来定义字典的语法,key是用来描述最终要访问的value值的,key对于开发者来说是已知的
      #   访问:通过 dic[key]来访问key描述的值
            dic = {'key': 'value'}
            people = { 'name': 'Liuxx', 'age': 68,'gender': '哇塞'

                           }  

      #   整体访问
            print(people)
      #   访问年龄的值,[将key原样拿下来] => ['age']
            print(people['age'])


    # 案例
    # 字典的嵌套
            info = {
             'name': 'egon',
             'hobbies': ['play', 'sleep'],
             'company_info': {
             'name': 'Oldboy',
             'type': 'education',
             'emp_num': 40,
              }
              }
    # 拿到40 | 拿到 'sleep'
           res = info['company_info']['emp_num']
           print(res)
           res = info['hobbies'][1]
           print(res)


         students=[
          {'name':'alex','age':38,'hobbies':['play','sleep']},
          {'name':'egon','age':18,'hobbies':['read','sleep']},
          {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
           ]
    # 第二个学生的第一个爱好
         print(students[1]['hobbies'][0])

     5.  运算符

     a.  算术运算符

         # + | - | * | / | // | ** | %

         # 1. 字符串和list可以做 + *

         # 2. /非整除,// 为整除

         # 3. **求幂:5 ** 2   => 25

         # 4. 任意数 % n   =>   [0, n-1]

         # 5. 有负数参与的取余:符号跟着 % 后面那个数

      b.  赋值运算符

         # += | -= | *= | /= | %= | **= | //= | =
         num = 10
         num += 1 # num = num + 1 => 11

         # 1.链式赋值
               a = b = num

        # 2.交叉赋值
               x = 10
               y = 20
               x, y = y, x

         # 3.解压赋值
               ls = [3, 1, 2]
               a, b, c = ls

         #   _是合法的变量名,会接受值,但我们认为_代表该解压位不用接收,

             用_来接收表示_, _, g = ls # g才存放2,其他标示不接受

    c.  关系运算符

         #    and | or | not
         # 1.and: 左右都成立才成立,有不成立的就不成立
         # 2.or: 左右都不成立才不成立,有成立的就成立
         # 3.ont: 成立则不成立,不成立则成立

         res = 0 and 20 # and前为假,整个式子就可以确定为假了,and后就不需要执行(短路)  print(res) # 0

         res = 10 or 20 # or前为真,整个式子就可以确定为真了,or后就不需要执行(短路)  print(res) # 10

     

  • 相关阅读:
    什么是TCP, UDP, HTTP, HTTPS协议?
    Django 自定义分页器
    PHP7.3安装event扩展
    深入浅出 PHP SPL(PHP 标准库)(转)
    Centos7安装redis5.0.7
    useradd命令详解(转)
    centos7.5下安装rabbitmq服务端以及php扩展
    php-fpm启动,重启,退出
    深度好文:PHP写时拷贝与垃圾回收机制(转)
    非对称加密openssl协议在php7实践
  • 原文地址:https://www.cnblogs.com/sry622/p/10713395.html
Copyright © 2011-2022 走看看