python菜鸟基础笔记(1)

一、python--解释型(开发过程中没有了编译)、交互式(提示符后直接执行代码)、面向对象的脚本语言

1.特点--易于学习、易于维护、易于阅读、丰富的库、可移植、 可扩展(可以使用c语言完成部分代码,然后在py程序中调用)、GUI编程、 可嵌入(可以嵌入到C/C++程序) 2.缺点:运行速度慢 3.主要运用领域: 云计算(openstack)、web开发、科学计算与人工智能、系统操作和维护、金融、图形GUI 4.windows下 a、解释器运行 b、交互式运行 c、脚本编程运行
安装环境配置  path 开发工具--emacs   \pythonwin \sublime text IDE集成开发环境-- pycharm

二、语法基础

1.与C语言不同点
  • :代替了 { }
  • print 代替了 printf
  • 单行注释  # 
  • 多行注释  '''
  • 断行语句   return \     (反斜杠断尾)
  •                           false
  • 输入函数  input('please input a string:')
  •                 name=input('please input a string:')   //给name赋值
  • 输出函数  print(3,name)     //输出两数之间以空格间隔
  • print(3,name,sep=',')      //输出两数之间以逗号间隔
  • print(3,name,end=' ')     //输出完成之后没有任何符号
  • print(3,name,end=' '); print(3,name) //输出结果为 3 john3 john
  •  
  • print默认输出是换行的
  • 如果要实现不换行输出则需要在变量末尾加上end=" "    print(x,end=" ")
2.import 与from ...import   导入相应模块 3.变量不需要声明,每个变量在使用前都必须赋值,赋值后才会被创建 允许同时为多个变量赋值  a=b=c=1    a,b,c=1,2,'hello' 4.标准数据类型:Number   String    Tuple   List     Set   Dictionary  分别为    数字         字符串   元组     列表    集合     字典 其中前三个为不可变数据,后三个为可变数据 5.Number数字类型--int整型(表示为长整型)、bool、float、complex(复数) 6.type( )函数可以用来查询变量所指的对象类型 isinstance()函数也可以判断   二者的区别:
  •      type不会认为子类是一种父类类型
  •     isintance会认为子类是一种父类类型
7.del语句删除对象的引用     8.数值的除法    /  返回浮点数   //  返回整数(//得到的并不一定是整数类型的数,它与分母分子的数据类型有关系)  例如,7.0//2  3.0     7//2.0  3.0 9.字符串String
  • py中单引号和双引号使用完全相同
  • 用+连接,*重复字符串
  • 字符串两种索引方式  从左到右以0开始,从右到左 以-1开始(遵循左闭右开原则,a[0:2] 只包括第一二个字符,第三个字符不包括)
  • 字符串值不能改变
10.LIst 列表--[ ]表示     列表中的元素类型可以不同,可以嵌套,索引,截取
  • 列表中元素的值可以改变
  • 列表的截取可以接收三个参数
11.Tuple 元组-- 元素不能修改   写在小括号里( )  元素类型可以不同 构造包含0个或1个元素的元组比较特殊:tup1=()   #空元组      tup2=(20,)   #一个元素,需要在元素后添加逗号 12.Set集合--由1个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或成员。基本功能是进行成员关系测试和删除重复元素。
  • 可以使用大括号{  }或者set()函数创建集合
  • 其中创建一个空集合必须使用set()
13.Dictionary字典--用大括号 {  } 标识,无序的 键:值 集合
  • 列表是有序得对象集合,字典是无序的对象集合。两者之间的区别在于:字典中的元素是通过键来存取的,而不是通过偏移存取。
  • 键必须使用不可变类型。在同一个字典中,键必须是唯一的。
创建空字典用{   } 集合与字典都可以使用大括号来标识,注意区分空集合与空字典的表示方式 14.数据类型转换--将数据类型作为函数名   例如,a=1.0,int(a)

三、深入学习语法

1.运算符--算术、比较(关系)、赋值、逻辑、位、成员、身份运算符
  • 算术运算符      ** 幂次方     //  取整除
  • 赋值运算符      := 海象运算符,可在表达式内部为变量赋值
  • 位运算符     &与(两个相应位都为1时结果为1,其余为0)   
  •                     | 或(两个相应位有一个为1结果为1)  
  •                    ^异或(两个对应位相异时结果为1)   
  •                     ~取反    << 左移动     >>右移动
  • 逻辑运算符    and 布尔与(x and y 若x为false则返回false,否则返回y的计算值)    
  •                      or 布尔或(x or y 若x是true则返回x的值,否则返回y的值) 
  •                      not 布尔非(x not y若x为true则返回false,若x为false则返回true)
  • 成员运算符   in(在指定序列中找到值则返回true)   
  •                     not  in(在指定序列中没有找到值返回true)
  • 身份运算符   is(判断两个标识符是否引用自一个对象,若引用的是同一个对象则返回true)
  •                     is  not(判断两个标识符是否引用自不同对象,若引用的不是同一个对象则返回true)
  • id()函数用于获取对象内存地址
  • is与==区别:is用于判断两个变量引用对象是否为同一个,==用于判断引用变量的值是否相等。
  • 运算符的优先级   and>or/not     is/is not>in/not in>not/and/or
2.数字NUMBER
  • 在交互模式中,最后被输出的表达式结果被赋值给变量 _
  • 常用的数学函数
  • abs()/fabs()   返回绝对值
  • pow(x,y) 返回x**y运算后的值
  • round(x,n)  返回浮点数x的四舍五入的值,若给出n值,则代表舍入到小数点后的位数。
  • sqrt()返回数字x 的平方根
  • 随机数函数
  • random()  随机生成下一个实数,在[0,1)范围内
  • 三角函数
  • 数学常量   pi   e
3.字符串STRING
  • 原始字符串:所有的字符串都直接按照字面意思来使用。在第一个引号前加上字母R/r。
  • %   格式字符串
  • 三引号--允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。 
  • f-string格式化字符以f开头,后面跟着字符串,字符串中的表达式用大括号{   }包起来,它会将变量或表达式计算后的值替换进去,例如: 

                   w={“name”:""ruboob", "ur1":"www.ruboob.com" }

                   f"{w["name"]}:{w["ur1"]}"

  • 输出:"ruboob:www.ruboob.com"
  • 特点:用该方式不用再去判断使用%s还是%d
  • 在python3中所有的字符串都是Unicode字符串,该字符串存储为16位unicode字符串,能够表示更多的字符集,使用语法是在字符串前面加上前缀u
  • 字符串内建函数
4.列表LIST
  • 序列是python中最基本的数据结构。序列中的每个元素都分配一个数字-它的位置,或索引,第一个索引是0,python有6个序列的内置类型,但最常见的是列表和元组。
  • 序列都可以进行的操作有索引、切片、加、乘、检查成员。
  • len([1,2,3])  #输出列表长度 3
  • for  x in [1,2,3]: print(x,end="")  #迭代  1  2  3
  • 列表支持截取与拼接、重复、删除、更新、嵌套等操作
  • 列表函数:len( )\max( )\min( )\list( )   #将元组转换为列表
  • 列表方法:list.append( )  #在列表末尾添加新的对象
list.count( )          #统计某个元素在列表中出现的次数 list.extend( )       #在列表末尾一次性追加另一个序列中的多个值 list.index( )         #匹配项索引位置 list.insert( )         #插入 list.remove( )     #移除列表中某个值的第一个匹配项                         list.pop( )          #移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 list.reverse( )     #反向 list.sort( )           #排序 list.clear( )         #清空列表 list.copy( )         #复制列表 5.元组TUPLE
  • 元组支持连接、删除、索引、截取,但不可修改。
  • 元组函数:len( )\max( )\min( )\tuple( )   #将可迭代系列转换为元组
  • 元组不可变指的是元组所指向的内存中的内容不可变
6.字典DICTIONARY--支持推导式
  • 字典可存储任意类型对象,是一种可变容器模型。
  • 值可以取任何数据类型,键必须是不可变的(可以用数字、字符串、元组充当键,但不能用列表,列表是可变的)
  • 访问字典里的值:
dict={'name':ruboob,'age':18} print("name=",dict['name'])     #将对应的键值放到方括号中
  • 字典支持修改、删除等操作
  • 字典函数:len( )  #j计算键的总数
str( )   #输出字典,以可以打印的字符串表示 type( )    #返回输入的变量类型
  • 字典方法:
radiansdict.clear(  ) ......
  • 遍历技巧:
在遍历时,关键字和对应的值可以使用items()方法同时解读出来 索引位置和对应的值可以使用enumerate()函数同时得到 同时遍历两个或更多的序列,可以使用zip()方法 反向遍历一个序列,首先指定这个序列,然后调用reversed()函数 要按序遍历一个序列,使用sorted()函数返回一个已排序的序列,并不修改原值
7.集合SET--基本功能包括关系测试和消除重复元素,支持推导式 无序的不重复元素序列
  • 具有去重功能(输出时自动去掉重复的元素)
  • **注意集合的运算**
  • 类似列表推导式,集合支持集合推导式:
          >>> a = { x for x in ' abracadabra ' if x not in ' abc ' }           >>> a                { ' r ' , ' d ' }
  • 集合的基本操作
添加元素 s.add(x) #将元素x添加到集合s中,若元素已存在,则不进行任何操作。 s.update(x) #也可以添加元素,且参数可以是列表、元组等,x可以有多个,用逗号分开。 移除元素 s.remove(x) #将x从集合s中移除,若元素不存在则会发生错误。 s.discard(x) #移除x,若元素不存在,不会发生错误。 s.pop() #随机删除集合中的一个元素,该方法会对集合进行无序排序,然后将这个无序排序集合的左边第一个元素进行删除。 计算个数 len(s) 清空集合 s.clear() 判断元素是否存在 x in s
  • 集合内置方法
add() clear() difference() intersection()....
  • 补充点
关键字end可以用于将结果输出到同一行,或者输出的末尾添加不同的字符 a , b = 0 , 1 while b < 1000 :  print ( b , end = ' , ' )  a , b = b , a + b 输出结果: 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , 89 , 144 , 233 , 377 , 610 , 987 ,、
8.条件控制
  • if-elif-else 每个条件后面使用冒号:
  • python中没有switch-case语句
  • python使用缩进方式来表示代码的层次结构(缩进可以使用任意数量的空格,但通常使用4个空格)
9.循环语句   
  • 每个条件后面使用冒号:
  • while
  • for
  • python中没有do..while
  • 设置无限循环--通过设置条件表达式永远不为false来实现,使用ctrl+c 退出当前无限循环。
  • while循环--while..else 
  • for .... in....可以遍历任何序列的项目,如一个列表或者一个字符串
  • break语句用于跳出当前循环体,countinue跳出当前循环块中剩余语句,进行下一轮循环。
  •  
  • 若明确的知道循环执行的次数或者要对一个容器进行迭代,推荐使用for...in..循环。
  • 若要构造不知道具体循环次数的循环结构,推荐使用while循环。
languages=['C','C++','python'] for x in languages: print(x)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部