ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python:基础复习

2019-06-27 23:01:42  阅读:164  来源: 互联网

标签:复习 Python 基础 运算符 类型 字符串 world True hello


一、数据类型

  • 对象的三大特征:值、身份、类型;

 1)数字 Number

  • 整型、浮点型
  1. 只有 int 和 float 两种类型;
  2. type(2/2):float 类型;2/2 == 1.0;
  3. type(2//2):int 类型;2//2 == 1;
  4. //:整除;
  • 进制
  1. 2/8/16 进制数表示,前缀:ob、0o、0x;
  2. 十进制数没有前缀;
  3. 十六进制,A、B、C、D、E、F:分别表示10,11,12,13,14,15;
  4. bin():将任意进制的数转换成二进制数;
  5. int():将任意进制的数转换成十进制数;
  6. oct():将任意进制的数转换成八进制数;
  7. hex():将任意进制的数转换成十六进制数;
  • 布尔类型
  1. bool():将其它数据类型转换成布尔类型;
  2. 所有非零的数值,转换成布尔类型都是 True;只有空数据、0 和 None( 0、‘’、[]、{}、()、None) 转换成布尔类型是 False;
  3. 布尔类型可以直接参与运算:a = 1 + True;int(True) == 1;
  • 复数 compler:数字后缀 j (如 10j);

 

 2)序列

  • 字符串 str
  • 单引号与双引号
  1. 相同的引号表示字符串的时候必须成对出现;如果引号作为字符出现,不能与表示字符串的引号相同,如:'let's go';可用转义字符代替:'let\'s go';
  2. 但可以 'let"s go'、"let's go":
  • 三引号
  1. 表示多行字符串;
  2. """hello world\nhello world\nhello world"""
    'hello world\nhello world\nhello world'
    
    print("""hello world\nhello world\nhello world""")
    hello world
    hello world
    hello world

    # 关于专业字符 “\n” 的识别;

  3. 单引号字符串输入时也可以换行,在换行处加 “\”;
  • 转义字符
  1. 特殊的字符;
  2. 一般表示无法“看见的字符”、与 python 语法有冲突的字符;
  3. \n:换行; \r:回车;两者不同;
  4. 将转义字符变为非转义字符,一般将 “\” 转义为 “\\”;
  • 原始字符串
  1. 在普通字符串前加 “r”,普通字符串中的所有转义字符都被当做两个普通字符看待;

 

  • 字符串运算
  1. 字符串 + 字符串:'hello' +  'world' ——'hello world';
  2. 字符串 * 数字:'hello' * 3 —— 'hello hello hello';
  3. 字符串[字符序号]:切去字符串中的某一字符:'hello'[0] == 'h'、'hello'[-1] == 'o';
  4. 'hello'[o:4] == 'hell'、'hello'[1:5] == 'ello'、'hello'[1:10] == 'ello'、'hello'[1:] == 'ello'、'hello'[:-1] == 'hell';
  5. 不能 字符串 * 字符串;

 

  • 列表 list
  1. 列表中的每一个元素都可以是任意的数据:['hello', 1, [1,2], True, (1,2), {0}];
  2. 列表中元素的访问方式与字符串操作一样;
  3. 列表运算与字符串操作一样,但没有减法操作;
  4. 有序的,元素内容可更改;
  5. type([1]) —— list;

 

  • 元组 tuple
  1. 元组中的元素是有序的:(1, 2, 3) != (3, 2, 1);
  2. 当元组中只有一个元素时,类型是元素本身:type((1)) —— int、type(('hello')) —— str;因为数据的运算优先级高于类型的优先级,如:(1 +1 ) * 2 == 4;但是 type(()) —— tuple,空的元组;
  3. 定义只有一个元素的元组:(1, );
  4. 有序的,若元素数据是值类型,不可修改,若元素类型是引用类型,可以修改;
    a = (1, 2, 3, [1, 2, 3])
    a[3][0] = '1'
    print(a) # (1, 2, 3, ['1', 2, 3])

     

  • 判断序列中是否含有某个元素
  1. in:某个元素在序列中;
  2. not in:某个元素不在序列中;
  3. 3 in [1, 2, 3, 4, 5] —— True;
  4. 6 in [1, 2, 3, 4, 5] —— False;
  5. 3 not in [1, 2, 3, 4, 5] —— False;
  6. 6 not in [1, 2, 3, 4, 5] —— True;
  • len():返回序列元素个数;
  • max():返回最大元素;
  • min():返回最小元素;
  • ord():将字符转换为十进制数;ord('d') —— 100;
  • 空格符 == 32;

 

 3)集合 set

  • 集合是无序的,不能引索和切片操作;
  • 一般访问集合中的元素就是通过判断该元素是否存在该集合中来实现;
  • 集合中的元素是不重复的,没有相同的元素;
  1. 差集:{1, 2, 3, 4, 5} - {3, 4} == {1, 2, 5};
  2. 交集:{1, 2, 3, 4, 5} & {3, 4} == {3, 4};
  3. 并集:{1, 2, 3, 4, 5} | {3, 4, 5, 6, 7} == {1, 2, 3, 4, 5, 6, 7};
  4. type({}) —— dict;
  5. 定义空集合:set();type(set()) —— set;

 

 4)字典 dict

  • 格式:{key1:value1, key2:value2},通过 key 找到 value 数据;
  • 字典是无序的,不能引索和切片;
  • 字典中不能有相同的 key;
  • 通过 key 访问 value 数据:dict[key1, key2];
  • key 的类型必须是不可变的,如 Number、str、set,但不能是 list;
  • value 的内容可以是任意数据;
  • {}:表示空的字典;

 

 5)总结

  •  

 

二、变量与运算符

 1)变量名

  •  一般用很简单简洁的英文单词表示变量:three_leaf_grass;
  1. 组成变量名的字符只能是 字母、数字、下划线,且首字符不能是数字;
  2. 变量名不能与系统保留关键字一样;
  3. 组成变量名的字符区分大小写;

 

 2)值类型、引用类型

  • int、str、tuple:值类型,是不可变的;(如:'hello'[0] = 'w',是不可操作的)
  • list、set、dict:引用类型,可以改变;
  • a = 1
    b = a
    a = 3
    print(b) # 1
    
    a = [1, 2, 3]
    b = a
    a[0] = '1'
    print(b) # ['1', 2, 3]
  • id():返回数据的内存地址;
  • 当 a = 3 时,内存中又多出了一个数据 3 ;而不是将原来的数据 1 更改为 3 ;

 

 

 

 

 3)运算符

  • 算术运算符、赋值运算符、比较(关系)运算符、逻辑运算符、成员运算符(in、not in)、身份运算符(is、is not)、位运算符;
  1. 赋值运算符:先运算,后赋值(c += 1,等效于 c = c + 1);
  2. str、list、tuple 进行比较运算时,以其中元素逐个进行比较,直到出现结果为止;
    'abcd' > 'adef' 
    # False
  3. 逻辑运算只操作布尔类型,返回的也是布尔类型;
  4. 'a' and 'b' —— ‘b’、1 and 2 —— 2、1 or 2 —— 1、[] or [1, 2] —— [1, 2];
  5. 1 and 2,返回 2:跟计算机的解析顺序有关,当计算机读取到 2 时判断出了结果,就直接返回当前解析出的数据;
  6. 1 or 2,返回 1:当计算机解析到第一个数据 1 时就已经判断出结果,就直接返回当前解析出的数据 1;
  7. 非布尔类型的数据进行逻辑运算时,系统会对数据进行转换:非空非数字0为 True、0和空数据为 False;
  8. not '0' —— False;
  9. 字典的成员运算是针对 key 值确定的:
    a = {'c':1}
    b = 1
    b in a  # False
    
    b = 'c'
    b in a  # True
  10. is 和 == 的区别:== 比较的是两个数据的值是否相等,is 比较的是两个数据的身份是否相等(或者理解为:is 是比较两个变量的内存地址是否相等);
    a = 1
    b = 1.0
    a == b  # True
    a is b  # False
    a = {1, 2, 3}
    b = {3, 2, 1}
    a == b  # True
    a is b  # False  --此处的 a 和 b 变量不是指向同一个内存地址
  11. 类型判断:isinstance、==;(一般不用 == 进行判断)
    a = 'abc'
    type(a) == str  # True
    isinstance(a, str)  # True
    isinstance(a,(int, float, str))  # True--只要 a 是 (int, float, str) 中的一种类型,返回True;
  • 位运算都是把数据当做二进制数进行运算:
  1. &:按位与;对应为都为 1 时返回 1,否则返回 0;
    a = 2
    b = 3
    a & b  # 2

  • 对象的三大特征(value、is、type)进行判断,分别用:==、is、isinstance;

 

 

 三、表达式

  • 运算符(operator)和操作数(operand)所构成的序列;

 

四、流程控制语句

  • 条件控制(if  else)、循环控制(for)、分支(while);

 

标签:复习,Python,基础,运算符,类型,字符串,world,True,hello
来源: https://www.cnblogs.com/volcao/p/11100129.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有