python基础

编写python程序的文件,称为python的脚本或程序
要求当前的python脚本的文件后缀名必须是.py

pycharm使用注意

需要明确的知道你当前pycharm选择的python环境

注释

注释就是一段说明文字,并不会被执行
在python的脚本中,开头的第一个字符如果是 # 那么就是注释了

print() 输出函数

print可以在程序中输出一些内容,字符串,数字。。。
函数就是为了完成一些功能,例如:print就是为了输出数据

变量

# 什么是变量?
# 变量就是用一个英文字符串来记录或标记一些数据,并且这个被标记的数据是可以变化的
# num = 10 的理解
# 就是把数据 10 赋值给变量 num使用,之后就可以使用num来代替这个10的数据

命名规范

变量的命名要有规范

  • 变量名可以使用字母,数字,下划线_,
  • 不能以数字开头
  • 严格区分大小写
  • 不要使用中文
  • 不要使用关键字 if else True False print

另外 变量的命名规范适用于脚本名称和后期的函数名及其它命令规范

变量的定义方式

定义变量时 要注意遵守变量命名规范

#第一种 变量定义方式
a = 10
b = 20

#第二种定义方式
a,b = 30,40

思考:如何实现 以下两个变量的数据相互交换

# 定义两个变量
a = 10
b = 20
# 交换两个变量的值

# 。。。

'''
普通方式,完成变量数据的交换
1,把a变量的值 赋值给c  ,此时 c变量中 就是 10
2,把b变量的值 赋值给a  , 此时 a变量中 就是 20
3,把c变量的值 赋值给b  , 此时 b变量中 就是 10
'''
# c = a
# a = b
# b = c

# 利用python定义比变量的语法来实现 变量的数据交换

a,b = b,a

python的数据类型

什么是数据类型?

数据类型就是数据的表现形式

比如 你好 就是一个字符串,200 就是一个数字

在程序当中除了这种常用的字符和数字外还有很多其它的数据表现形式

type() 函数,可以返回当前的数据类型

s = 'iloveyou'
res = type(s) 
print(res)  # <class 'str'>  str == string

1. 字符串类型

  • 单双引号都可以定义字符串
  • 三引号也可以定义字符串
  • 单双引号定义的字符串不能随意换行,需要在换行时指明换行符
  • 字符串中的引号可以互相嵌套,但是不能嵌套自己(例如不能在单引号中嵌套单引号,除非转义)
  • 字符串中可以使用转义字符,如 \r \n \t ...
  • 如果不想在字符串中实现转义字符可以在字符定义时 加 love = r'\nihao \shijie'
# 定义方式就是使用 单引号 或者 双引号
love = 'iloveyou'
hello = "你好 世界"

# 也可以使用三引号实现大字符串的定义,一般用于大文本字符串的定义,并且大字符串,可以换行
s = '''
比如说这一个
很长很长的文章内容。。。
'''

2.数字类型

  • int 整型
  • float 浮点类型
  • complex 复数
  • bool 布尔类型(True,False)
# 数字类型 Number
'''
int   整型
float 浮点类型
complex 复数
bool  布尔类型(True,False)
'''
varn = 521
varn = -1111

varn = 3.1415926

varn = 0x10  # 十六进制

varn = b'001100111' # bytes

# 复数
varn = 5+6j  # complex

# 布尔类型  bool
varn = True
varn = False
# print(varn,type(varn))

# 数值类型可以参与运算
a = 10
b = 20
print(a+b)

3.List列表类型

  • 列表用来表示一系列数据,例如: 需要记录一组数字或其它数据
  • 列表中存储的数据可以是任意类型的
  • 在需要记录多个数据时,可以使用中括号进行定义 [],
  • 并且每个数据之间使用逗号分隔 ,
  • 例如以下数据,定义了几组数字
  • 列表中存储的每一组数据,称为元素
  • 列表中存储的数据,可以通过下标的方式进行获取
  • 那么列表中元素的值可不可以存储一个列表,称为 二级列表(二维列表) 或者 多级列表 (多维列表)
    '''
    关于列表中的下标
    0   1   2    3    4 
    ['a','b',521,'pai',3.1415926]
    -5   -4   -3  -2   -1
    '''
    

4. tuple 元组类型的定义

  • 在定义多个数据内容时,可以选择使用List列表类型
  • 还可以使用元组类型来定义,
  • 元组和列表非常像,都时用于存储多个数据时使用
  • 元组使用小括号进行定义(),列表使用中括号进行定义
  • 元组的最大特点就是值不能被改变
    vart = (1,2,3,'a','b')
    # 元组的其它定义方式
    vart = 1,2,3
    
    注意在定义元组时,如果元组中只有一个元素,那么需要加, 不然就不是元组类型了

5.Dict字典类型

  • 字典也是用于存储一组或多组数据时使用,使用大括号 {}来定义
  • 字典是 键值对 的存储方式 name :admin
  • 键和值之间使用冒号进行分隔,多组键值对之间使用逗号分隔
  • 键必须是字符串或数字类型,值可以是任意类型
  • 键名不能重复,值可以重复
    ```python

    比如需要记录一本书的相关数据 书名,作者,价格,。。。

    vard = {'title':'<<鬼谷子>>','author':'鬼谷子','price':'29.99'}

    print(vard,type(vard))

    {'title': '<<鬼谷子>>', 'author': '鬼谷子', 'price': '29.99'}

获取字典中的值

print(vard['title'])

字典中的键不能重复使用,否则会覆盖

vard = {'a':10,'b':10,'c':20,'a':'aa',1:'abcdef','2':'2222'}

print(vard)

##### tip: 在python之前的版本中,字典是无序的
---
### 6.set集合类型
+ set集合是一个 无序且元素不重复的 集合的数据类型
+ set集合使用 中括号或者set()方法来定义
+ 如果需要定义一个空集合时 只能使用 set()方法,因为大括号时定义的空字典
+ 集合主要用于运算,交集,差集,并集,对称集合
```python

a = {1,2,3,'a'}
# 给集合添加元素
# a.add('b')
# 无法获取集合中的单个元素,但是可以添加和删除
# a.discard('a')
# print(a)
# 检查当前的元素是否在集合中
# print(1 in a)


# 集合主要用于运算,交集,差集,并集,对称集合
a = {1,2,3,'a','b'}
b = {1,'a',22,33}

print(a & b) # 交集  {1, 'a'}
print(a - b) # 差集 {'b', 2, 3}  a 集合有,b集合没有的
print(a | b) # 并集 {1, 2, 3, 33, 'a', 'b', 22} 两个集合,放到一起,并且去重
print(a ^ b) # 对称差集 {33, 2, 3, 'b', 22}

总结数据类型

'''
字符串 string
数字类型 Number
    整型 int
    浮点 float
    复数
    布尔 bool
列表  list
元组  tuple
字典  dict
集合  set

可变数据类型:列表,字典,集合
不可不数据类型: 字符串,数字,元组

容器类型数据 : 字符串,列表,元组,集合,字典
非容器类型数据: 数字,布尔类型
'''

数据类型转换

  • 什么是数据类型转换?
    • 把一个数据类型转换为另一个数据类型,例如 字符串转为数字
  • 为什么需要数据类型转换?
    • 因为不同的数据类型之间不能运算
  • 数据类型转换的形式?
    • 自动类型转换
    • 强制类型转换

自动类型转换

# 自动类型转换
# 当两个不同的值进行运算时,结果会向更高的精度进行计算
# True ==> 整型 ==> 浮点 ==> 复数
a = 123
b = True  # 在和数字运算时 True转为数字1,False转为数字 0
# print(a+b)
# print(12.5+22)
# print(True+3.14)

强制类型转换

python中的每个数据类型都有对应的方法,可以对数据类型进行转换

  • str() 可以把所有的其它数据类型转换为字符串类型
  • int() 字符串转数字类型时,如果字符串中时纯数字,可以转换
    • 其它容器类型不能转为数字int类型
  • float() 浮点类型的转换和int类型一样,不过转换的结果是浮点类型
  • bool() 可以把其它类型转换布尔类型的True或False
    • 总结,哪些情况转bool的结果是 False
    • '',0,0.0,False,[],{},(),set()
  • list() 列表
    • 数字类型是 非容器类型,不能转换为列表
    • 字符串 转换为列表时 会把字符串中的每一个字符当做列表的元素
    • 集合 可以转换为 list列表类型
    • 元组 可以转换为 list列表类型
    • 字典 可以转换为 list列表类型,只保留了字典中的键
  • tuple() 元组
    • 数字类型 非容器类型,不能转换为元组
    • 其它容器类型的数据进行转换时,和列表一样
  • set() 集合
    • 数字类型 非容器类型,不能转换为 集合
    • 字符串,列表,元组 可以转为 集合 结果是无序的
    • 字典转换为集合时,只保留了字典的键 key
  • dict() 字典
    • 数字类型 非容器类型,不能转换为 字典
    • 字符串不能直接转换为 字典
    • 列表可以转换为字典,要求是一个二级列表,并且每个二级元素只能有两个值
    • 元组可以转换为字典,要求是一个二级元组,并且每个二级元素只能有两个值
Image placeholder
尼古拉斯川哥
未设置
  0人点赞

没有讨论,发表一下自己的看法吧

推荐文章
Python 教程-了解Python

什么是Python Python能干什么? 有什么特点? 什么是Python 官方介绍: Python是一个易于学习、功能强大的编程语言。它拥有高效高级的数据结构和一种简单有效的面向对象编程的

Python 教程-Python 安装

在Windows上安装 访问https://www.python.org/downloads/并下载最新版本。在撰写时当前最新是3.8。在安装的时候和其他软件一样,无脑式下一步。需要注意的是如果在W

Python入门教程_2. 使用 Python 解释器

2.1.调用解释器 Python解释器通常安装在目标机器上的/usr/local/bin/python3.7目录下;把/usr/local/bin目录放进你的Unixshell的搜索路径里,确保它可以

Python入门教程_3. Python 简介

在下面的例子中,输入和输出分别由大于号和句号提示符(>>>和...)标注:如果想重现这些例子,就要在解释器的提示符后,输入(提示符后面的)那些不包含提示符的代码行。需要注意的是在练习中遇到的从属提示符

Python入门教程_4. 深入 Python 流程控制

除了刚刚介绍的while语句,Python还有一些在其他语言中常见的控制流语句,并做了一些改动。 4.1.if语句 也许最著名的语句是if语句了。 例如: >>>x=int(input("Please

【python测试开发栈】帮你总结python random模块高频使用方法

随机数据在平时写python脚本时会经常被用到,比如随机生成0和1来控制逻辑、或者从列表中随机选择一个元素(其实抽奖程序也类似,就是从公司所有人中随机选择中奖用户)等等。这篇文章,就帮大家整理在pyt

流畅的Python读书笔记 --- 第一章 Python数据模型

近期开始读“流畅的Python”这本书,想把自己的读书笔记分享给大家,希望能帮到也对这本书感兴趣但是没时间看的各位。(文章中大部分的话和图片摘录总结自“流畅的Python”一书,以及python官方网

【python测试开发栈】帮你总结python time模块高频使用方法

在平时写python脚本时,时间是我们经常用到的数据,比如:时间戳、前端展示的对应格式的时间等,在python中主要有三个和时间处理相关的模块:time、datetime、calendar,这篇文章主

超8千Star,火遍Github的Python反直觉案例集!

大数据文摘授权转载作者:SatwikKansal译者:暮晨Python,是一个设计优美的解释型高级语言,它提供了很多能让程序员感到舒适的功能特性。但有的时候,Python的一些输出结果对于初学者来说似

面向回家编程!GitHub标星两万的”Python抢票教程”,我们先帮你跑了一遍

盼望着,盼望着,春节的脚步近了,然而,每年到这个时候,最难的,莫过于一张回家的火车票。据悉,今年春运期间,全国铁路发送旅客人次同比将增长8.0%。达到4.4亿人次,2020年铁路春运自1月10日开始,

Python 多个return值

多个return值 那如果你想从一个函数里返回两个变量而不是一个呢?新手们有若干种方法。最著名的方法,是使用global关键字。让我们看下这个没用的例子: defprofile(): globalna

python 处理多个异常

处理多个异常 我们可以使用三种方法来处理多个异常。 第一种方法需要把所有可能发生的异常放到一个元组里。像这样: try: file=open('test.txt','rb') except(IOErr

python *args 的用法

*args的用法 *args和**kwargs主要用于函数定义。你可以将不定数量的参数传递给一个函数。 这里的不定的意思是:预先并不知道,函数使用者会传递多少个参数给你,所以在这个场景下使用这两个关键

python **kwargs 的用法

**kwargs的用法 **kwargs允许你将不定长度的键值对,作为参数传递给一个函数。如果你想要在一个函数里处理带名字的参数,你应该使用**kwargs。 这里有个让你上手的例子: defgree

Python 使用 CTypes调用 C 方法

CTypes Python中的ctypes模块可能是Python调用C方法中最简单的一种。ctypes模块提供了和C语言兼容的数据类型和函数来加载dll文件,因此在调用时不需对源文件做任何的修改。也正

Python/C API

Python/CAPI Python/CAPI可能是被最广泛使用的方法。它不仅简单,而且可以在C代码中操作你的Python对象。 这种方法需要以特定的方式来编写C代码以供Python去调用它。所有的P

SWIG-Python中调用C代码的另一种方法

SWIG SWIG是SimplifiedWrapperandInterfaceGenerator的缩写。是Python中调用C代码的另一种方法。在这个方法中,开发人员必须编写一个额外的接口文件来作为S

Python 容器 Collections

容器(Collections) Python附带一个模块,它包含许多容器数据类型,名字叫作collections。我们将讨论它的作用和用法。 我们将讨论的是: defaultdict counter

python __slots__ 魔法

在Python中,每个类都有实例属性。默认情况下Python用一个字典来保存一个对象的实例属性。这非常有用,因为它允许我们在运行时去设置任意的新属性。 然而,对于有着已知属性的小类来说,它可能是个瓶颈

python set (集合)数据结构

set(集合)是一个非常有用的数据结构。它与列表(list)的行为类似,区别在于set不能包含重复的值。这在很多情况下非常有用。例如你可能想检查列表中是否包含重复的元素,你有两个选择,第一个需要使用f

python 协程

Python中的协程和生成器很相似但又稍有不同。主要区别在于: 生成器是数据的生产者 协程则是数据的消费者 首先我们先来回顾下生成器的创建过程。我们可以这样去创建一个生成器: deffib():

如何使用 Python 和 BeautifulSoup 爬取网站

互联网上的信息如此之多,任何人穷其一生也无法全部消化吸收。你需要的不是访问这些信息,而是一种可伸缩的方式,可以用来收集、组织和分析这些信息。你需要的是Web爬取。Web爬取可以自动提取数据,并以一种

1000 行 Python 代码脚本 bug,或影响上百篇学术论文

《Nature》杂志2014年的一篇论文包含了一个Python脚本,其中有一个模块是根据文件的排序返回值,但Python并没有定义查询的文件顺序。这意味着在不同的操作系统上,该脚本返回的值是不同的。

Python 教程-从变量开始

先认识一下计算机 主要分为五个部分:控制器,运算器,存储器,输入设备,输出设备。输入输出设备大家都比较熟悉,最常见的输入设备比如鼠标、键盘、扫描仪等,输出设备比如,显示器、打印机、音响等。主要说一下

Python教程-强制数据类型转换

数据类型转换分为两种,一种是自动数据类型转换(隐式)和强制数据类型转换(显式)原则上不同的数据之间无法进行运算,自动数据类型转换是程序自发的行为,比如在运算时(或判断时)。在需要的情况下进行的操作