python基础

Python语言是一种解释型、面向对象、动态数据类型的高级程序设计语言

开发者:Guido van Rossum(人称龟叔)

基本概念

1.变量

变量名必须是大小写英文字母、数字或下划线 _ 的组合,不能用数字开头,并且对 大小写敏感

关键字不能用于命名变量,如and、as、assert、break、class、continue、 def、del等

变量名和想要赋予变量的值通过赋值运算符 =连接起来,变量的赋值操作就完 成了声明和定义的的过程

如:i=1

同一变量可以反复赋值,而且可以是不同类型的变量,这也是Python语言称之 为动态语言的原因

常常约定使用大写字母组合的变量 名表示常量,也有不要对其进行赋值”的提醒作用

如:PI=3.1416926

2.注释

、# 单行注释

'''注释的内容 ''' 或"""注释的内容 """ 多行注释

3.print函数

在Python 2.x版本中,同时兼容 print 和 print()

在Python 3.x版本中,print 函数为带括号的 print()

如果想要看变量的值,则直接在 print 后面加上变量名即可。如 果是想要输出提示信息,如一句话,那我们需要将提示信息用 ‘ 单 引号包裹起来(这使得内容构成一个字符串)

逗号,:隔开变量与其他剩余内容,则print 在输出时会依次 打印各个字符串或变量,遇到逗号,时会输出一个空格

print 函数不仅可以打印变量值,也可以打印计算结果

4.数据类型

Python语言的数据类型包括

整型(正负)、

浮点型(如果是非常大或者非常小的浮点数,就需要 使用科学计数法表示,用 e 代替 10)、

字符串(两个单引号或两个双引号包裹起来的文本)、(比如 \n 表示换行, \t 表示制表符,Python还允许用 r“ ” 表示“ ”内 部的字符串默认不转义)

布尔型(只有 TrueFalse 两种值)& 和 |和not(非)

空值 :None

5.算术运算符

6.类型转换

函数 int()、float()、str() 和 bool() 分别用于将变量转换 成整型、浮点型、字符串和布尔型变量

注意:汉字和字符不能转成数字,除非这个字符由数字构成

只有在变量值为 0 或0.0时,bool 转换的结果才为 False:

除了使用 type() 外,我们还可以使用 isinstance() 来获得数 据类型

如:bool(isinstance('a',str))

True

数据容器

1.列表

列表(list)是一个有序的序列结构,序 列中的元素可以是不同的数据类型

将列表中的各元素用逗号分隔开,并用中括号将所有元素包裹起来

如:

插入

使用append()方法添加元素,该方法会在列表末尾位置添加数据元素

如:list1.append('bfy')

删除

remove()方法适用于知道要删除的值的情况,当我们不知道具体元素值, 但是知道元素的索引位置时,我们可以使用 del 函数配合列表索引,删 除索引位置的元素或者使用 pop()方法

如:list1.remove('bfy')

​ del list1[0]

​ list1.pop(0)

通过 insert() 方法在指定的索引位置添加数据元素

如:list1.insert(1,'123')

列表长度len()方法

len(list1)

列表索引

Python语言中所有的索引都是从 0 开始计数的,如果列表中有 n 个元素, 那么最后一个元素的索引是 n-1 ,反过来从-1开始

列表切片

列表名称[起始索引位置 :最后索引位置 :步长]

切片操作需要提供起始索引位置和最后索引位置,然后用冒号 : 将两者分开

如果未输入步长,则默认步长为 1 (相当于间隔几个去切)

索引的位置含头不含尾

列表中的元素也可以是列表,这样可以将列表看成更高维的数组

可以逆向切片

如:list1[0:3] 切出第一个和第三个数据

2.元组

元组(tuple)数据结构与列表类 似,其中元素可以有不同的类型

但是元组中的元素是不可变的, 即一旦初始化之后,就不能够再 做修改(报错:元组对象不支持 赋值)

只有查询,与列表的区别是元组是小括号

3.字典

字典的创建使用大括号 {} 包含键值对,并用冒号 : 分隔键和值,形成 键:值 对

字典中的数据元素是无序的,并不会按照初始化的顺序排列。不同键所 对应的值可以相同,但是字典中的键必须是唯一的

dict1= {1:'aa', 2:'bb', 3:'cc'}

字典的元素访问(以及插入、设置)方式与列表和元组一样。不同的是,列表和元组 的索引号是按照顺序自动生成,而字典的索引号是键

可以通过 in 判断是否存在某个键,其语法跟在列表和元组中判断是否存在 某个值是相同的

如果不太确定字典中有哪些键或者值,我们可以使用 keys() 方法或者values()方 法

dict1.keys()

dict1.values()

在有些情况下,我们需要取出字典中的键值对用于下一步的分析,此时可以使 用 items() 方法,该方法将返回所有键值对,并将其保存在一个元组列表(列表 中的元素为元组)中

字典的删减有三种方法

使用 del 函数对单一元素或者整个字典进行删除

使用 pop() 方法删除单一元素

使用 clear() 方法清空词典的所有元素

4.集合

集合(set)是一种无序集,它是一组键的集合,不存储值在集合中,重复的键是不被允许的。集合可以用于去除重复值

集合也可以进行数学集合运算,如并、交、差以及对称差等。

集合的创建有两种方式:使用 set() 函数或者使用大括号{}

需要注意的是,创建空集合,必须使用 set() ,而不是{},因为{}表示创建一个 空的字典

控制结构

1.if选择语句

格式

if 判断条件:

​ 执行语句

2.for循环语句

格式

for 变量 in 序列:

​ 执行语句

利用for循环和zip()函数创建字典

zip()函数用于将多个序列(列表、元组等)中的元素配对,产生一个如 [(列表1元素,列表2元素),(,)] 的新的元组列表;for循环用于重复执行将值放入键中的操作。

如:

a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c', 'd', 'e']
dict={}
for key,value in zip(a,b):
dict[key]=value
print(dict)

3.while循环结构

python的基本运用的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  10. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

随机推荐

  1. java关键字的概念与特征和标识符的概念和规则

    什么是关键字 比如说邮箱地址 abc@qq.com  123abc@qq.com 这样的只要没有人占用都是和发布的 那么这样呢 hahah@enen@itcast.cn呢 @是电子邮箱当中有特殊含义的 ...

  2. CF1615G Maximum Adjacent Pairs

    \(CF1615G\) Description 给定一个数列 \(a\),你需要将所有 \(a_i=0\) 的位置填上一个 \(1\sim n\) 的正整数,使得数列的「值」最大. 数列的值定义为满足 ...

  3. P4983忘情

    今天挺开心的\(\sim\),省选加油\(!\) \(P4893\)忘情 我能说今晚我才真正学会\(wqs\)和斜率优化吗\(?\) 恰好选几个,必然需要\(wqs\)二分一下 那么考虑不考虑次数情况 ...

  4. 论文解读(soft-mask GNN)《Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks》

    论文信息 论文标题:Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks论文作者:Mingqi Yang, Ya ...

  5. Dolphin Scheduler 1.2.0 部署参数分析

    本文章经授权转载 1 组件介绍 Apache Dolphin Scheduler是一个分布式易扩展的可视化DAG工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程 ...

  6. C++ Protobuf

    Protobuf protobuf (protocol buffer) 是谷歌内部的混合语言数据标准.通过将结构化的数据进行序列化(串行化),用于通讯协议.数据存储等领域的语言无关.平台无关.可扩展的 ...

  7. Oracle 服务器迁移的一些经验

    前言 通过此文章来分享一下 Oracle 服务器迁移过程中的一些经验,希望对大家有些许帮助. 本文旨在帮助更多的同学,会提及一些基本命令或技巧,但不赘述,后续有机会再进一步分享各个细节. 背景 之前因 ...

  8. day30-注解

    Java注解 1.注解的理解 注解(Annotation)也被称为元数据(Metadata),用于修饰解释 包.类.方法.属性.构造器.局部变量等数据信息 和注释一样,注解不影响程序逻辑,但注解可以被 ...

  9. Docker实用篇

    Docker实用篇 0.学习目标 1.初识Docker 1.1.什么是Docker 微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦. 分布式系统中,依赖的组件非常多,不同组件之间 ...

  10. 解决前端开发报错(SyntaxError: missing : after property id)的问题

    当使用对象初始化语法创建对象的时候,需要使用半角冒号 (:) 将属性键与属性值隔开. 1 var obj = { propertyKey: 'value' }; 冒号与等号 下面的代码会运行失败,原因 ...