Python基础语法

一、运算符

a.比较运算符

运算符 意义
x<y 当x真的小于y时,返回真,否则返回假

b.数值运算符

运算符 意义
x/y 返回x/y的结果
x//y 返回x除于y的整数部分
x%y 返回x除于y的余数
abs(x) 返回绝对值
int(x) 转换为整形数
float(x) 转化为浮点数
complex(re,im) 定义复数
c.conjugate() 返回复数的共轭复数
divmod(x,y) 相当于x//y、x%y
pow(x,y)或x**y 返回x的y次方程序结构

二、程序结构

类别 特点
顺序结构 代码执行顺序从头到尾依次执行
选择结构 使用if语句选择性执行代码,可分为单分支if和多分支if语句
循环结构 使用for、while来进行循环体的定义

三、异常处理

1、try-except结构

try:处理代码
except Exception as e:处理代码发生异常,在这里进行处理

2、try-except-finally结构

try:print(1/0)
except Exception as e:print("除0异常")
finally:print("必须执行")

3、try-except-else结构

try:print("正常代码")
except Exception as e:print("将不会输出这句话")
else:print("这句话将被输出")

4、try-except-else-finally结构

try:print("没有异常")
except Exception as e:print("不会输出")
else:print("进入else")
finally:print("必须输出")

四、函数

1、函数基本结构

def 函数名(参数):函数体return 返回值

2、参数结构

(一)、传统参数传递

a、无参传递
def func():print("这是无参函数")
b、固定参数传递
def func(x):passdef func(x,y,z):pass

(二)、默认参数传递

def func(x,y=100,z='hello'):#参数默认值的设定,应当遵循从右到左原则print(x,y,z)

(三)、未知参数个数传递

def func(name,*args):print(name+"有以下雅称:")for i in args:print(i)func("赵钱孙","猴子","毛毛","赵学霸")

(四)、带键参数传递

def func(**kwargs):print(type(kwargs))for i in kwargs:print(i,kwargs[i])func(aa=1,bb=2,cc=3)
print("---------")
func(x=1,y=2,z='hello')

3、回调函数

def func(fun,args):fun(args)def f1(x):print("这是f1函数:",x)def f2(x):print("这是f2函数:",x)func(f1,1)
func(f2,"hello")

4、函数的嵌套和递归

a、函数的递归

def fib(n):if n<=2:return 1;else:return fib(n-1)+fib(n-2)

b、函数的嵌套

def args_input():#定义输入函数try:a = float(input("输入a:"))b = float(input("输入b:"))c = float(input("输入c:"))return a,b,cdef get_delta(a,b,c):#计算deltareturn b**2-4*a*cdef slove():a,b,c = args_input()delta = get_delta(a,b,c)if delta<0:print("方程无解")elif delta==0:x = b/(-2*a)print("x=",x)else:x1=(b+delta**0.5)/(-2*a)x2=(b-delta**0.5)/(-2*a)print("x1=",x1)print("x2=",x2)def main():slove()
if __name__ == '__main__':main()

5、闭包

  • 闭包:将函数作为返回值返回
def func():res = []def put(x):res.append(x)def get():return resdef out(x):res.remove(x)return put,get,outp,g ,o= func()
p(1)
p(2)
print("当前res值:",g())
p(3)
p(4)
print("当前res值:",g())
o(4)
print("当前res的值:",g())

6、匿名函数lambda

  • 类似于C++的#define定义
f = lambda x,y:x+y
print(f(2,3))

print((lambda x,y:x**2+y**2)(3,4))

7、关键字yield

  • yeild关键字可以将函数执行的中间结果返回但不结束程序。
def func(n):i = 0while i<n:yield ii += 1for i in func(10):print(i)


Python数据结构

一、列表


  • list,可作为栈(先进后出表)、队列(先进先出表)的等使用,定义形式:变量名 = [……],例如:
s = [1,2,3,4,5]
  • 想要获取列表中的元素可以使用如下形式:变量名[下标值]来获取,使用原则如C++的数组。

1、list常用函数

函数名 作用
list.append(x) 将元素x追加到列表尾部
list.extend(L) 将列表L中的所有元素追加到列表尾部形成新列表
list.insert(i,x) 在列表index为i的位置插入x元素
list.remove(x) 将列表中第一个为x的元素移除,若不存在x元素将引发一个异常
list.pop(i) 删除index为i的元素,并将删除元素显示。若不指定i,则默认弹出最后一个元素
list.clear() 清空列表
list.index(x) 返回第一个x元素的位置,若不存在x,则会报错
list.count(x) 统计列表中x元素的个数
list.reverse() 将列表反向排列
list.sort() 将列表从小到大排序。如需要从大到小排序,则用list.sort(reverse=True)表示
list.copy() 返回列表的副本

二、元组(tuple)

  • 定义形式

    t=(1,2,3)
    
  • 取值方式与列表相似,与列表不同的是:元组中的元素一旦确定就无法更改

    tuple.count(x)   #计算x在tuple中出现次数
    tuple.index(x)   #计算第一个x元素的位置
    

三、集合(set)

  • 定义形式

    s={1,2,3,35,2}
    
  • 集合不能保存重复的数据,即具有过滤重复数据的功能,对于元组或者数组来说,可以使用set函数来去除重复的数据,如下:

    >>> L=[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5]
    >>> T=5,5,5,6,6,6,7,7,7,8,8,8,9,9,9
    >>> SL=set(L)
    >>> ST=set(T)
    >>> L
    [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5]
    >>> SL
    {1, 2, 3, 4, 5}
    >>> T
    (5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9)
    >>> ST
    {5, 6, 7, 8, 9}
    
  • 注意:因为set中的元素是无序的,因此不能用set[i]的方式来获取元素

集合的操作


操作符或函数 意义
x in S 如果S中包含x元素,则返回True,否则返回False
x not in S 如果S中不包含x元素,则返回True,否则返回False
S+T 链接S与T,返回连接后的新的集合类
S*n 将S延长自身n次
len (S) 返回S的长度

四、字典

  • 定义形式

    d={key:value}
    
  • 字典,又称为键值对,字典的每一项都由一个key和value,key和value之间用“:”隔开,二字典的每一项用“,”隔开;值得注意的是:字典的key必须唯一,不能重复 字典的取值方式:d[key]

    >>> d={1:10,2:25,'a':14,5:"hello"}
    >>> d[2]
    25
    >>> d['a']
    14
    >>> d[5]
    'hello'
    

字典的操作

>>> dc=d.copy()   #字典的复制
>>> dc
{1: 10, 2: 25, 'a': 14, 5: 'hello'}
>>> dc.clear()   #字典的清除
>>> dc
{}
>>> d.items()  #获取字典的项列表
dict_items([(1, 10), (2, 25), ('a', 14), (5, 'hello')])
>>> d.keys()  #获取字典的key列表
dict_keys([1, 2, 'a', 5])
>>> d.values()  #获取字典的value列表
dict_values([10, 25, 14, 'hello'])
>>> d.pop(1)   #弹出key=1的项
10
>>> d
{2: 25, 'a': 14, 5: 'hello'}
  • 字典不能用“*“连接

  • 字典的迭代

    >>> d={1:2,3:4,'a':'2sd','er':34}
    >>> for i in d:   #利用循环进行迭代print(i,d[i])1 2
    3 4
    a 2sd
    er 34
    >>> i=iter(d)  #利用迭代器函数iter()进行迭代
    >>> k=next(i)
    >>> k,d[k]
    (1, 2)
    >>> k=next(i)
    >>> k,d[k]
    (3, 4)

list、tuple和set的共有操作

  • 这三种数据结构对于求长度、求最小值、求最大值和求和操作,调用的函数是一样的

    >>> L=[1,2,3,4,5]
    >>> T=1,2,3,4,5
    >>> S={1,2,3,4,5}
    >>> len(L),len(T),len(S)  #求长度
    (5, 5, 5)
    >>> min(L),min(T),min(S)  #求最小值
    (1, 1, 1)
    >>> max(L),max(T),max(S)   #求最大值
    (5, 5, 5)
    >>> sum(L),sum(T),sum(T)  #求和
    (15, 15, 15)
  • 迭代

    >>> for i in L:    #利用循环进行迭代print(i)1
    2
    3
    4
    5
    ------------
    >>> i=iter(L)  #利用iter()进行迭代
    >>> next(i)
    1
    >>> next(i)
    2
    >>> next(i)
    3

五、3个函数(map、filter、reduce)

1、遍历函数(map)

  • map函数用于遍历序列,对序列中的每个元素进行操作,最终获取型的序列:

    >>> L=[1,2,3,4,5]
    >>> new_list=map(lambda a:a+100,L)
    >>> list(new_list)
    [101, 102, 103, 104, 10]

2、筛选函数(filter)

  • filter函数用于对序列中的元素进行筛选,最终获取符合条件的序列。

    >>> l=[100,11,20,5,60,29]
    >>> new_l=filter(lambda x:x>22,l)
    >>> list(new_l)
    [100, 60, 29]

3、累计函数(reduce)

  • reduce函数用于对序列内的所有元素进行累计操作:

    >>> from functools import reduce  #从functools模块倒入reduce函数
    >>> li = [11,22,33]
    >>> reduce(lambda arg1,arg2:arg1+arg2,li)
    66
    #reduce函数的第一个参数是有两个参数的函数,即函数必须有两个参数
    #reduce的第二个参数是将要循环的序列
    #reduce的第三个参数是初始值
    >>> li.append(44)
    >>> reduce(lambda arg1,arg2:arg1+arg2,li)
    110
    >>> reduce(lambda arg1,arg2:arg1+arg2,li,100)
    210

python基础语法和基本数据结构相关推荐

  1. python变量类型-【干货】Python基础语法之变量类型

    原标题:[干货]Python基础语法之变量类型 还没关注? 01 Python编码 Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错. 解决 ...

  2. python基础指令-python基础语法,python 代码命令大全

    python: 1.语法强制缩进 2.区分大小写:iLoop与iloop是两个变量 3.变量无需申明,但是变量赋值前无法使用:a=3合法,b=a+3合法,b=a+c不合法,因为c未赋值前不能使用 4. ...

  3. python基础语法(一)

    Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语 ...

  4. python基础代码大全-python基础语法,python 代码命令大全

    python: 1.语法强制缩进 2.区分大小写:iLoop与iloop是两个变量 3.变量无需申明,但是变量赋值前无法使用:a=3合法,b=a+3合法,b=a+c不合法,因为c未赋值前不能使用 4. ...

  5. python基础语法及知识点总结

    本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...

  6. python:python基础语法三,列表、元组、字典、集合

    python基础语法 文章目录 python基础语法 列表(list) 列表简介 切片 列表修改元素 列表的方法 遍历列表 序列(sequence) 序列的基本操作 range()函数 EMS(Emp ...

  7. Python数据分析训练营——Python基础语法

    文章目录 1.Python数据分析之前奏 1.1 Python基本语法 (1)数据类型 字符串 整数 浮点数 布尔值 空值 运算符 (2)数据结构 可变对象和不可变对象 类型转换 1.2 Python ...

  8. #第3篇分享:python基础语法-磨刀不误砍柴工

    #python基础语法 无论学习什么语言,我们最初都要学习这门语言的基础语法及一些基本定义,下图基本涵盖了python学习所有的基础知识,下面我就详细来说上一说,说的不好您见谅: 1.首先介绍一下数据 ...

  9. 【数据分析师-python基础】python基础语法精讲

    python基础语法精讲 1 从数字开始 1.1 理解整数.浮点数.复数几种类型对象 1.2 掌握运算及其相关的常用函数 2 变量.表达式和语句 2.1 变量作用及定义的方法 2.2 变量命名原则和习 ...

最新文章

  1. iframe几种常用代码片段
  2. EOS 智能合约源代码解读 (11)wrap合约“action_wrapper类”
  3. 访问windows azure虚拟机iis服务器,如何直接从Java访问Azure/IIS证书?
  4. 《回答sort一例》-linux命令五分钟系列之二十八
  5. Scala进阶之路-I/O流操作之文件处理
  6. 芯片介绍:CC2530
  7. myeclipse复制的文件代码乱码
  8. 计算机类qq网名,最帅的qq名字
  9. selenium页面跳转问题-QQ邮箱登录之后找不到元素
  10. CnOpenData中国各区县工商注册企业分年份数量统计(含新增,注销企业数量)
  11. Android - 跳转系统网络设置
  12. mysql 三元_三元联系简介
  13. python足球联赛赛程_足球联赛赛程表工作表
  14. Python爬虫实例--新浪热搜榜[正则表达式]
  15. NBA各队所在分区,州,城市,主体育馆资料整理
  16. oracle 行转列后列名,Oracle 多行转多列,列值转为列名
  17. Delphi判断是否为周末?今天是周几?
  18. String比较字符串方法
  19. LeetCode 题库 全 JAVA 解题---771.宝石与石头
  20. Docker删除镜像/容器

热门文章

  1. 设计模式之迭代器模式详解(JAVA 版)
  2. mptcp linux 升级,linux – MPTCP的可配置性如何?
  3. Laetus控制器维修20C-A323包装机控制模块
  4. 互联网晚报 | 1/17星期二 | ​腾讯100余人因触犯高压线被辞退;滴滴出行新用户注册恢复;理想汽车回应夜间驾车显示有人追车...
  5. 深富策略航运股持续走强
  6. 拜耳阵列(拜耳马赛克)简介
  7. 核电站安全距离--如果大亚湾核电站泄漏,惠州深圳也会遭受污染?
  8. QQ2007尾巴病毒实现(一)
  9. 【笔记】前端 HTML
  10. 未来人工智能将成日用品