1. 怎么写代码:在终端里面//python文件 后缀为.py 2. 单行注释 # 多行注释 ‘‘‘ ’’’ 或者 “““ ””” 3. 变量:程序运行时,可以发生变化的量 常量:程序运行时,不可以发生变化的量 4. python 变量名=变量值 没有规定变量值是不是整形或浮点型 5. 定义 交换值 6. 标识符 变量名命名规范 ①使用大小写、数字、下划线 ②不能以数字开头 ③不能使用关键字和保留字 ④建议使用_命名 ⑤不能使用python全局中已经用过的 ⑥小驼峰命名法(除了第一个单词的首字母,其他的首字母用大写 ⑦特殊:大驼峰( ‘所有的首字母都用大写 7. 基本数据类型 ①数字类型:整型int、浮点型float、复数a+bi ②布尔类型:True、False 判断条件是否成立的(bool) ③字符串类型:“ ” ‘ ’ “““ ””” ‘‘‘ ’’’ 三引号可以换行 ord( )获取字符的整数表示 type( ) 用来检测变量的数据类型 chr( )把编码转换为对应字符 input(“提示语”) input默认输入结果为字符串,所以需要类型转换 复合数据类型:字典、列表、元组、集合 8. 数据类型转换 自动类型转换:整型、浮点型、布尔类型(非0为真,0为假 强制类型转换:int() float() str() str()强制转换成字符串 9. 常见运算符 算数运算符:+ - * / // % ** //整除 **幂 关系运算符:> < >= <= == != <>表示不等于 逻辑运算符:and(两真才真,一假则假) not or(一真则真,两假才假) 所属运算符:in not in 判断某个元素在不在这个容器里面 is运算符:is判断内存地址是否相同 ==判断值是否相同 赋值运算符:= += -= *= /= //= **= %= a += 1 表示 a = a + 1 python不存在自增自减(如C语言中的i++ 三目运算符:变量 = 值1 if条件else值2 位运算符:计算机底层的运算规则 & | ^ ~ << >> 10. 位运算符 |:把两边的二进制各位进行或运算(两0才0,一1则1) &: 两真才真,一假则假 ^:相反为真 ~:按位取反,连带符号位 <<:所有二进制向左移动n位 12<<1 增长2的n次方倍 >>:所有二进制向右移动n位 无符号位 11. 半导体材料:从一边到另外一边是通电的,反向不通电. 一个二极管对应一个二进制的数(0/1)------ 1 bit 1byte=8个二极管(8bit) 0—255 256 12. 0表示正数 1表示负数 最高位为符号位 共256位 -128—127 10==00001010 11==00001011 基于byte 10+11=21==00010101 1+1向前进一 13. 为了解决负数运算,提出三个概念 原码:十进制对应的二进制 -3==1000 0011 反码:符号位不变,其余位取反 1111 1100 补码:反码+1 1111 1101 -3+2 1111 1101(补 + 0000 0010(原 = 1111 1111(补码 补码1111 1111 反码1111 1110 源码 1000 0001 == -1 14. 程序控制流程:解决语句与语句之间运行的顺序的问题 ⑴顺序:代码整体的执行顺序---从上到下,从左到右 ⑵选择:不同条件下运行不同的代码 缩进强调的是在同一个块内缩进量一致 Tab键和空格不能混用 ①单分支 if 条件: 条件成立时执行的代码 ②双分支 if 条件: 条件成立时执行的代码 else: 条件不成立时执行的代码 ③多分支 if 条件1: 条件1成立时执行的代码 elif 条件2: 条件2成立时执行的代码 …… elif 条件n: 条件n成立时执行的代码 else: 条件都不成立时执行的代码 ⑶循环: ①while 条件: 循环体 else: 循环正常结束时执行的代码 ② for循环:主要用于容器的迭代 for 临时变量 in 容器: continue退出本次循环,直接开始下一次循环 break直接退出本次循环 range(num1):[0,num1)之内所有的整数,不包含num1 range(num1,num2):[num1,num2)之间所有的整数 range(num1,num2,step): range(10,0,-1) :从10倒着到1 15. 容器 数据结构: ①线性表:有序的 ②数组:类型一致的,大小固定,连续的内存结构 ③链表:不一定要内存空间连续,大小不固定 ④栈:先进后出 ⑤队列:先进先出 16. python的内置容器: list列表 set集合 tuple元祖 dict 字典 ㈠ list列表:底层使用的是双向链表---线性表 有序的 ⑴如何定义 ①变量名 = [ ] b = [1,2,3,4,"gouxin",True] 列表里边可以存储不同的数据类型 ② list([1,2,3,4]) list("zhangsan") ⑵获取列表的长度 len( ) ⑶获取每一个元素 列表名[列表下标] 修改数据:列表名[列表下标] = 新的数据 下标:从0开始从左向右;从右向左下标从-1开始-2,-3 ⑷遍历列表 ①for ②while ③列表的常见方法 'add', 'class', 'class_getitem', 'contains', 'delattr', 'delitem', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'getstate', 'gt', 'hash', 'iadd', 'imul', 'init', 'init_subclass', 'iter', 'le', 'len', 'lt', 'mul', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'reversed', 'rmul', 'setattr', 'setitem', 'sizeof', 'str', 'subclasshook', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort' ④增 append( ):向列表的尾部追加元素 insert(下标,添加的元素) extend( ):合并列表 列表1.extend(列表2):⑤列表2的数据合并给列表1 ⑤删除 remove(“元素”) 只能删除满足条件的第一个 pop( )通过下标删除元素 不给参数时,删除的是最后一位,并且会返回删除的元素 clear( ):清空列表里的数据 ⑥查 index(元素):获取匹配到的第一个元素的索引下标 index(元素,start):从start下标开始查找 count(元素):计数 copy( ):拷贝---浅拷贝 reverse( ):反转 sort(reverse=True)) ㈡ set集合:底层基于哈希表实现的 不能重复,无序 ⑴集合时无法进行访问的---无序的 ⑵len( ):获取集合长度 ⑶①遍历: for ②集合常见的方法: 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update' ③add(元素) pop( ):任意一个元素被移除 remove(元素) discard(元素) 要移除的元素不存在时,discard( )不会进行报错 intersection( ):交集 ㈢ 元组tuple:不可变数据类型。有序的 ⑴如果一个元组只有一条数据,那么需要在这条数据后面加上逗号 ⑵元组中元素存在可变数据类型,那么更改可变数据类型中的元素不会报错 ⑶len(元组名):获取元组的长度 ⑷访问:元组名[元祖下标] ㈣ dict 字典 ⑴ 查找数据:字典名["键名"] dict1["school"] = "huazhu" 存在,则进行覆盖;不存在,则进行添加 ⑵ len( ):获得字典长度 ⑶ 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values' ⑷ get(key,默认不存在时返回):通过key获取值的 keys( ):获取所有的键 values( ):获取所有的值 setdefault( ):添加键值对 del要移除的项---可以删除任何的变量 pop( ):通过key删除键值对 items( ):返回键值对 update( ):合并字典 dict1.update(dict2)合并12字典 ⑸遍历:for