python基础简略版

python基础简略版,第1张

python基础简略版

碎碎念:这里本人只是简单总结了以下基础的语法,因为之前有java开发的经验,所以有的知识点就没写,如果想详细学习pyhton的话建议去看菜鸟教程。

python基础语法的学习 1.标记编码方式
# -*- coding: cp-1252 -*-
2.输入输出
# 注释
print()
3.标识符

标识符,采用字母数组下划线的方式实现,并且对大小写是敏感的

4.保留字
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
5.注释
# 单行注释
'''  多行注释'''
""" 多行注释 """
6.缩进

python 不适用{}来表示数据,反而是通过缩进的方式实现相关的 *** 作

7.多行语句
对于长的语句通常采用 /+的的方式实现
total = str1 +
		str2 +
    	str3 +
        str4
8.数字类型

对于number类型主要有四种

  • int 整形
  • bool boolean类型
  • float 类型 1.23,3E-2
  • complex复数类型 1+2j,1.1+2.2j
9.字符串的情况

python当中可以采用 ‘’’ ‘’’ 来定义字符串并且和"""""" 的形式是一样的都是可以表示多行字符串,对于单个字符串可以采用’’

转义字符 n,t

反转义字符 r.’ abcn '这个时候的转义字符是没有用的

python中没有字符类型,一个就是一个字符串

索引方式:

关于索引可以理解为从0开始,到-1结束

a = 'abctt'
a[0:-1] #表示从头到尾
a[2:]#从3开始
a[2:5:2]# 从3-5,中间隔着两个
a+"你好" #字符串拼接
10.空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

**记住:**空行也是程序代码的一部分。

11.输入

input 表示输入

12.同一行多条语句

对于同一行中的多条语句可以采用 ;分割

import sys; print("hello")
13.对于多条语句

组成的代码组,可以采用:的形式来处理

14.输出
#对于python来说主要有换行输出和不换行输出
print('hello')
print('word')
#不换行输出
print('hello',end=" ")
print('word',end=" ")
15.导入包的情况
  • 全部导入 import sys
  • 导入一部分 from sys import input
  • 全部导入 from sys import *
基本数据类型 1.赋值
# 对于赋值可以,连等于
a = b= c
a ,b,c = 1,1.4,'root'
2.标准数据类型

python中一共有六个基本的数据类型

数字,字符,元组,集合,列表,元组 前三个可变,后三个不可变

判断数据类型的方法,主要有两种方法

方法一:通过type type(1,int)

方法二:通过isInstance的方式 isinstance(A(),A)

区别:这里的type 仅仅是本身才是True,才是一样。isInstance中的子类也是True,是正确的

这里可以采用IS来判断类型,这里可以通过采用type,注意bool是int的子类吗,因此 true == 1

false = 0

创建一个数值的时候也是创建了一个对象,可以通过del的方式实现删除一个对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WI1MVjSB-1637495054431)(E:Python学习文档Snipaste_2021-11-17_23-22-05.png)]

2.列表

列表的基本 *** 作和字符

list = ['a','b','c','d']
list[0:]
list[1:5:2]
# 于String不同的是,list中的数据是可以被修改的

常用的方法:

append()。pop()等方法

3.元组

注意:元组中的数据是不能修改的,但是元组里面包含的元素是可以改的

tup = (1,2,3,4,5,6)
tup[1:4]#和前面的工作是一样的,因此无需变换,但是可以更换相关的参数信息

注意:这说的 字符,元组,列表都是可以改变的元素,因此 *** 作的方式上面有很多相似的地方

4.集合

这里的集合可以看成是多个类型数据的集合,并且set集合可以删除重读的元素。

5.字典

字典相当于java中的Map的相关 *** 作,这里通过键值对来进行存储的

6.字符转换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vB3T7txA-1637495054433)(E:Python学习文档Snipaste_2021-11-17_23-56-30.png)]

python的运算符

这里采用python的基本运算符,这里的运算符,与java是一样的情况

# 定义数字
var =1
var2 = 2
#删除相关引用
del var
del var,var2
# 转换数字类型
var3= 1.0
var4= int(var3)
2.字符串

这里街介绍的功能与上面介绍的功能是一样的,因此这里采用字符串的相关的功能

#!/usr/bin/python3
 
a = "Hello"
b = "Python"
 
print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])
 
if( "H" in a) :
    print("H 在变量 a 中")
else :
    print("H 不在变量 a 中")
 
if( "M" not in a) :
    print("M 不在变量 a 中")
else :
    print("M 在变量 a 中")
 
print (r'n')
print (R'n')

字符串输出

这里采用

print("我是 s% 今年 %d 岁" % ('zhao',10))

基本数值类型

后面添加的技术

f-string实际就是f{}

>>> name = 'Runoob'
>>> f'Hello {name}'  # 替换变量
'Hello Runoob'
>>> f'{1+2}'         # 使用表达式
'3'

>>> w = {'name': 'Runoob', 'url': 'www.runoob.com'}
>>> f'{w["name"]}: {w["url"]}'
'Runoob: www.runoob.com'

另外还有很多针对字符串的字符和函数等 *** 作,由于太多这里就不过多的进行展示

列表

这里对列表的 *** 作不用过多的进行阐述,这里主要是和数据是一样的,能够删除和存储数据,这里的数据,下面对其进行展示

# 创建列表
list1 = [1,2,3,4,5]
# 查询列表
list1[3]
#添加元素
list1.append(6)
# 删除列表元素
del list1[5]
# 嵌套列表
a = [1,2,3]
b = [4,5,6]
c = [a,b]

常用函数

元组 这里的元组和列表的基本 *** 作是一样的,但是不可以改变数值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-brLZEteD-1637495054442)(C:UsersxinyuAppDataRoamingTyporatypora-user-imagesimage-20211118211255304.png)]

字典

删除一项数据

def1 = {1:'w' , 2:'e', 3:'t' }
#删除特定元素
del def1['1']
# 清空字典
def1.clear()
#删除字典
del def1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sKp5rZ56-1637495054443)(C:UsersxinyuAppDataRoamingTyporatypora-user-imagesimage-20211118214007882.png)]

相关函数以及功能略

集合
#针对集合的创建形式
{} , set()
{'g','r','y','u'}
a = set('hello')
#对于集合函数有以下几种
a -b #a中包含b不包含
a |b a,b中都有的元素
a&b  #ab中都包含的元素
a^b ab不同时包含的元素

#集合中添加元素
a.add('t')
# 移除元素
a.remove()
基本流程控制语句

这里对于基本流程控制语句,主要有以下几种,其中包括,if else,for while等,这里的用处就不细说了,同Java中用法一样的

函数
  • 必须参数
  • 关键字参数,通过关键字来确定函数的类型
  • 默认参数,在函数定义的期间通过,在传入参数的期间进行定义
  • 不定长参数,主要是通过* args来传参数,来确定不定长的数值
  • 匿名函数 ,这里的匿名函数,即lambed 函数来确定,sum = lambed arg1 , arg2 ; arg1+arg2
  • return 返回值函数
  • 在python3.8中可以采用 / 来强制确定函数的位置信息。
数据结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FM0ukp1C-1637495054443)(C:UsersxinyuAppDataRoamingTyporatypora-user-imagesimage-20211118231218003.png)]

程序块

这里的程序块的信息,就是通过写一个python的相关的数据文件,来进行处理数据

  • 导入模块(通过import ,from import import *的方式来实现的
  • 返回,。以及模块化的相关内容

*__ name __ 属性

#这里表示程序的主程序,并且只有主程序能够运行
if __name__ == '__main__':
   print('程序自身在运行')
else:
   print('我来自另一模块')

dir() 函数可以找到所有模块内部的定义的函数名称

标准模块,这里的标准块函数采用sys 可以使用常用的函数

包是一种管理 Python 模块命名空间的形式,采用"点模块名称"。

比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块 B 。

就好像使用模块的时候,你不用担心不同模块之间的全局变量相互影响一样,采用点模块名称这种形式也不用担心不同库之间的模块重名的情况。

这样不同的作者都可以提供 NumPy 模块,或者是 Python 图形库。

不妨假设你想设计一套统一处理声音文件和数据的模块(或者称之为一个"包")。

现存很多种不同的音频文件格式(基本上都是通过后缀名区分的,例如: .wav,:file:.aiff,:file:.au,),所以你需要有一组不断增加的模块,用来在不同的格式之间转换。

并且针对这些音频数据,还有很多不同的 *** 作(比如混音,添加回声,增加均衡器功能,创建人造立体声效果),所以你还需要一组怎么也写不完的模块来处理这些 *** 作。

sound/                          顶层包
      __init__.py               初始化 sound 包
      formats/                  文件格式转换子包
              __init__.py
              wavread.py
              wavwrite.py
              aiffread.py
              aiffwrite.py
              auread.py
              auwrite.py
              ...
      effects/                  声音效果子包
              __init__.py
              echo.py
              surround.py
              reverse.py
              ...
      filters/                  filters 子包
              __init__.py
              equalizer.py
              vocoder.py
              karaoke.py
              ...

在导入一个包的时候,Python 会根据 sys.path 中的目录来寻找这个包中包含的子目录。

目录只有包含一个叫做 init.py 的文件才会被认作是一个包,主要是为了避免一些滥俗的名字(比如叫做 string)不小心的影响搜索路径中的有效模块。

最简单的情况,放一个空的 :file:init.py就可以了。当然这个文件中也可以包含一些初始化代码或者为(将在后面介绍的) __all__变量赋值。

用户可以每次只导入一个包里面的特定模块,比如:

#导入包的数据
import sound.effects.echo

从一个包中导入全部数据 这里可以采用 from sound.effects.echo

输入输出

Python两种输出值的方式:

  • 表达式语句

  • print() 函数。

  • 使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。

如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。

如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。

  • str(): 函数返回一个用户易读的表达形式。
  • repr(): 产生一个解释器易读的表达形式。
>>> s = 'Hello, Runoob'
>>> str(s)
'Hello, Runoob'
>>> repr(s)
"'Hello, Runoob'"
>>> str(1/7)
'0.14285714285714285'
>>> x = 10 * 3.25
>>> y = 200 * 200
>>> s = 'x 的值为: ' + repr(x) + ',  y 的值为:' + repr(y) + '...'
>>> print(s)
x 的值为: 32.5,  y 的值为:40000...
>>> #  repr() 函数可以转义字符串中的特殊字符
... hello = 'hello, runoobn'
>>> hellos = repr(hello)
>>> print(hellos)
'hello, runoobn'
>>> # repr() 的参数可以是 Python 的任何对象
... repr((x, y, ('Google', 'Runoob')))
"(32.5, 40000, ('Google', 'Runoob'))"
for x in range(1, 11):
...     print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))

format是常用的数字化字符形式

从键盘读入

主要采用input的函数

读和写文件

主要采用open(filename ,mode),这里的filename代表文件的名字,这里的mode代表模式

r,w,a 代表相关的 *** 作以及相关的权限

文件对象读取的方法

通过

read代表全部读取

#!/usr/bin/python3

# 打开一个文件
f = open("/tmp/foo.txt", "r")

str = f.read()
print(str)

# 关闭打开的文件
f.close()

readline()代表读取一行数据

str = f.readLine()

另外可以通过for的方式进行迭代

for line in f:
    print(line,end = " ")
f.close()
write模块

这里可以write写函数

close表示关闭文件 OS

os 模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下表所示:

python的错误以及异常
  • try–except :这里的异常需要明确的解释以下,对于try中出现的异常情况,如果出现了与except 之后名称相符的异常那么就抛出,如果出现的异常和其不相符的话,那么就直接抛给上层try语句

  • try --except --else 组合:这里的else表示没有异常时候执行的代码

  • try --except – else – finally 这里对于finally来说,是代码无论执行不执行都会去执行的代码

抛出异常(这里的异常是指自己定义的异常)

使用raise来定于

X= 10
if x>5:
	raise Exception("数据的值不能超过5")

自动定义异常
def divide(x, y):
        try:
            result = x / y
        except ZeroDivisionError:
            print("division by zero!")
        else:
            print("result is", result)
        finally:
            print("executing finally clause")
   
>>> divide(2, 1)
result is 2.0
executing finally clause
>>> divide(2, 0)
division by zero!
executing finally clause
>>> divide("2", "1")
executing finally clause
Traceback (most recent call last):
  File "", line 1, in ?
  File "", line 3, in divide
TypeError: unsupported operand type(s) for /: 'str' and 'str'
面向对象 类定义:
class ClassName:
    
    .
    .
    .
    
类对象

类对象支持两种 *** 作:属性引用和实例化。

属性引用使用和 Python 中所有的属性引用一样的标准语法:obj.name。

类对象创建后,类命名空间中所有的命名都是有效属性名。所以如果类定义是这样:

#!/usr/bin/python3
 
class MyClass:
    """一个简单的类实例"""
    i = 12345
    def f(self):
        return 'hello world'
 
# 实例化类
x = MyClass()
 
# 访问类的属性和方法
print("MyClass 类的属性 i 为:", x.i)
print("MyClass 类的方法 f 输出为:", x.f())

类有一个名为 init() 的特殊方法(构造方法),该方法在类实例化时会自动调用,像下面这样:

def __init__(self):
    self.data = []

类定义了 init() 方法,类的实例化 *** 作会自动调用 init() 方法。如下实例化类 MyClass,对应的 init() 方法就会被调用:

x = MyClass()

当然, init() 方法可以有参数,参数通过 init() 传递到类的实例化 *** 作上。例如:

#!/usr/bin/python3
 
class Complex:
    def __init__(self, realpart, imagpart):
        self.r = realpart
        self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i)   # 输出结果:3.0 -4.5

hello world’

实例化类

x = MyClass()

访问类的属性和方法

print(“MyClass 类的属性 i 为:”, x.i)
print(“MyClass 类的方法 f 输出为:”, x.f())

类有一个名为 __init__() 的特殊方法(**构造方法**),该方法在类实例化时会自动调用,像下面这样:

def init(self):
self.data = []

类定义了 __init__() 方法,类的实例化 *** 作会自动调用 __init__() 方法。如下实例化类 MyClass,对应的 __init__() 方法就会被调用:

x = MyClass()

当然, __init__() 方法可以有参数,参数通过 __init__() 传递到类的实例化 *** 作上。例如:

~~~
#!/usr/bin/python3
 
class Complex:
    def __init__(self, realpart, imagpart):
        self.r = realpart
        self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i)   # 输出结果:3.0 -4.5
~~~





















欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5576149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存