zoukankan      html  css  js  c++  java
  • 一二章,数据类型

    为什么要编程?

    编程

     
    1. python 八荣八耻
    2. #以动手实践为荣,以只看不练为耻。
    3. #以打印日志为荣,以单步跟踪为耻。
    4. #以空白分隔为荣,以制表分隔为耻。
    5. #以单元测试为荣,以手工测试为耻。
    6. #以代码重用为荣,以复制粘贴为耻。
    7. #以多态应用为荣,以分支判断为耻。
    8. # 以Pythonic为荣,以冗余拖沓为耻。
    9. #以总结思考为荣,以不求甚解为耻。

    编程==写代码,写代码为了什么? 为了让计算机干你想要干的事情

     

    有哪些高级语言

    机器语言、汇编语言、高级语言

     

    高级语言 (必须经过转换才能被执行)

     

    编译类:

    在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),效率高

    编译后程序运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi

     

    解释类:

    执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器,就像跟老外说话,必须有翻译在场),但这种方式比较灵活,可以动态地调整、修改应用程序。如Python、Java、PHP、Ruby等语言。

    Python目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python环境,在Windows系统上需要安装一下

     

    变量

    把程序运算的中间结果临时存到内存里,以备后面的代码继续调用

     

    变量定义规范

    1. 变量名只能是字母、数字或下划线的任意组合
    2. 变量名的第一个字符不能是数字
    3. 以下关键字不能声明为变量名['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']

    定义变量不好的方式举例

    • 变量名为中文、拼音
    • 变量名过长
    • 变量名词不达意
     

    常量

    在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量。(一旦定义为常量,更改即会报错?)

     

    代码注释

    代码注释分单行和多行注释, 单行注释用#,多行注释可以用三对双引号""" """

     

    数据类型

     

    数字:

     

    int(整型)

    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

    在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

     

    long(长整型)

     

    进制转换

    整数之间的进制转换:

     
    1. 10进制转16进制: hex(16) ==> 0x10
    2. 16进制转10进制: int('0x10', 16) ==> 1
     

    字符串

    在Python中,加了引号的字符都被认为是字符串!

    msg = "My name is Alex , I'm 22 years old!" (单双没区别,有时需配合使用)

    多行字符串必须用多引号:

     
    1. msg = '''
    2. 今天我想写首小诗,
    3. 歌颂我的同桌,
    4. 你看他那乌黑的短发,
    5. 好像一只炸毛鸡。
    6. '''
    7. print(msg)
    • 补充: 
      1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'l hf' 
      2.unicode字符串与r连用必需在r前面,如name=ur'l hf'
     

    字符串拼接

     

    相加

     

    相乘(重复字符串再拼接)

    注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

     

    布尔型(bool)

     
    1. python中的布尔值
    2. 作者:ag128333
    3. 所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有 布尔TrueFalse值。空对象、值为零的任何数字或者Null对象None的布尔值都是False
    4. 下列对象的布尔值是False.
    5. NONE;
    6. False(布尔类型)
    7. 所有的值为零的数
    8. 0(整型)
    9. 0.0(浮点型)
    10. 0L(长整型)
    11. 0.0+0.0j(复数)
    12. ""(空字符串)
    13. [](空列表)
    14. ()(空元组)
    15. {}(空字典)
    16. 值不是上面列出来的任何值的对象的布尔值都是True,例如non-emptynon-zero等。
    17. 用户创建的类实例如果定义了nonzero(_nonzero_())或length(_len_())且值为0,那么它们的布尔值就是False.

    测试题:Python中布尔运算是常见的运算,那么计算0 and 1的结果是_

    (python 中的and从左到右计算表达式,python中的逻辑操作符and可以将任意表达式连接在一起,并得到一个布尔类型的值,如果两边都为真,则返回第二个值,如果第一(二)个为假,则返回第一(二)个值。所以如问题所述。)

     

    流程控制之 if...else

     

    缩进:让程序知道,每段代码依赖哪个条件(4个空格)

    在其它的语言里,大多通过{ }来确定代码块,比如C,C++,Java,Javascript都是这样

    Python的缩进有以下几个原则:

    • 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
    • 同一级别的代码,缩进必须一致
    • 官方建议缩进用4个空格,当然你也可以用2个,如果你想被人笑话的话。
     

    第二章


     

    字典

    • 字典的常见操作
     
    1. 键、值、键值对
    2.     1dic.keys() 返回一个包含字典所有KEY的列表;
    3.     2dic.values() 返回一个包含字典所有value的列表;
    4.     3dic.items() 返回一个包含所有(键,值)元祖的列表;
    5.     4dic.iteritems()、dic.iterkeys()、dic.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
    6. 新增
    7.     1dic['new_key'] = 'new_value'
    8.     2dic.setdefault(key, None) ,如果字典中不存在Key键,由 dic[key] = default 为它赋值;_
    9. 删除
    10.     1dic.pop(key[,default]) get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
    11.     2dic.clear() 删除字典中的所有项或元素;
    12. 修改
    13.     1dic['key'] = 'new_value',如果key在字典中存在,'new_value'将会替代原来的value值;
    14.     2dic.update(dic2) 将字典dic2的键值对添加到字典dic
    15. 查看
    16.     1dic['key'],返回字典中key对应的值,若key不存在字典中,则报错;
    17.     2dict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None
    18. 循环
    19.     1for k in dic.keys()
    20.     2for k,v in dic.items()
    21.     3for k in dic
    22. 长度
    23.     1len(dic)
     

    元组

    特别注意: 
    1、元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义

     
    1. tup1=(50,)

    2、元组中的元素值使不允许修改的,但可以对元组进行连接组合

     
    1. tup1=(12,34.56)
    2. tup2=('abc','xyz')
    3. tup1[0]=100 #非法操作,元组中的元素是不允许被修改的
    4. tup3=tup1+tup2 #python运行元组进行连接组合
    5. print(tup3)# 输出:(12,34.56,'abc','xyz')

    3、元组中的元素是不允许删除的,但可以使用del语句来删除整个元组

    4、元组之间可以使用+和*,即允许元组进行组合连接和重复复制,运算后会生成一个新的元组

     
    1. tup1=(1,2,3)
    2. tup2=(3,4,5)
    3. tup3=tup1+tup2 #输出:tup3=(1,2,3,3,4,5)
    4. tup4=tup1*3 #输出: tup4=(1,2,3,1,2,3,1,2,3)

    5、元组运行切片操作

    6、任意无符号的对象,以逗号隔开,默认为元组

     
    1. a=1,2,3,'hello'
    2. print(a) #输出:(1,2,3,'hello')

    7、对元组进行操作的内建函数 
    ——cmp(tup1,tup2): 比较两个元组元素 
    ——len(tup): 返回元组中元素的个数 
    ——max(tup): 返回元组中元素最大的值 
    ——min(tup): 返回元组中元素最小的值 
    ——tuple(seq): 将列表转化为元组

    8、元组的方法(元组没有列表中的增、删、改的操作,只有查的操作) 
    ——tuple.index(obj):从元组中找出某个值第一个匹配项的索引值 
    ——tuple.count(obj): 统计某个元素在元组中出现的次数

  • 相关阅读:
    程序安装打包
    sql 2005 分页存储过程
    带线的无限级下拉树列表
    MapXtreme 2005 学习心得 概述(一)
    存储过程中用到的年,月,周的函数
    委托/事件/线程传参简单理解
    清除svn/vss小工具
    查看数据库连接数
    MapXtreme 2005 学习心得 使用WebTool工具(七)
    C#日期格式化
  • 原文地址:https://www.cnblogs.com/ZJackSparrow/p/9345566.html
Copyright © 2011-2022 走看看