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. Vue 事件的基本使用 && 事件修饰符

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  2. ABP 6.0.0-rc.1的新特性

      2022-07-26官方发布ABP 6.0.0-rc.1版本,本文挑选了几个新特性进行了介绍,主要包括LeptonX Lite默认主题.OpenIddict模块,以及如何将Identity Ser ...

  3. Python爬虫:为什么你爬取不到网页数据

    前言: 之前小编写了一篇关于爬虫为什么爬取不到数据文章(文章链接为:Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章), 但是当时小编也是胡乱编写的,其实里面有很多问题的,现在小编重新发 ...

  4. java-正则、object中的两个方法的使用

    正则: "."和"\" "."点儿,在正则表达式中表示任意一个字符. "\"在正则表达式中是转意字符,当我们需要描述一个 ...

  5. .NET 6应用程序适配国产银河麒麟V10系统随记

    最近想在麒麟系统上运行.NET 6程序,经过一番折腾最终完成了,简单记录一下. 目标系统: CPU: aarch64架构(ARM64) 操作系统:银河麒麟V10高级服务器系统 银河麒麟V10系统(以下 ...

  6. [CSharpTips]判断两条线段是否相交

    判断两条线段是否相交 主要用到了通过向量积的正负判断两个向量位置关系 向量a×向量b(×为向量叉乘),若结果小于0,表示向量b在向量a的顺时针方向:若结果大于0,表示向量b在向量a的逆时针方向:若等于 ...

  7. 云服务器上搭建cobalt strike遇到的一些小问题

    一.前言: 当你兴高采烈的买了一台云服务器,迫不及待地想去搭建传说中的神器cobalt strike的时候,你可能会遇到以下的一些小问题,这里我会列出对应的解决方法. 二.遇到的一些小问题 1.上传文 ...

  8. 👍CleanShot X 3.1.1 破解版 (超强屏幕截图录像工具) (TNT + 免激活)

    软件语言为ENGLISH,英文不好的劝退! 软件介绍/功能 CleanShot X 3 是一款Mac超强截图以及屏幕录制工具.支持:区域截图.窗口截图.滚动截图.延时截图.屏幕录制.贴图.截图时隐藏桌 ...

  9. 「题解报告」CF1067A Array Without Local Maximums

    大佬们的题解都太深奥了,直接把转移方程放出来让其他大佬们感性理解,蒟蒻们很难理解,所以我就写了一篇让像我一样的蒟蒻能看懂的题解 原题传送门 动态规划三部曲:确定状态,转移方程,初始状态和答案. --神 ...

  10. 第十一篇:vue.js监听属性(大作业进行时)

    这个知识点急着用所以就跳过<计算属性>先学了 首先理解一下什么是监听:对事件进行监控,也就是当我进行操作(按了按钮之类的事件)时,会有相应的事情发生 上代码 <div id = &q ...