• 主页
所有文章 关于我

  • 主页

Python基础

2019-07-16

PYTHON基础

什么是PYTHON

PYTHON是一种面向对象的解释型计算机程序设计语言

最初被设计用于编写自动化脚本(shell)

所以它没有像C++、JAVA 一样的“包子”格式

1
2
3
4
5
6
public class HelloWorld{
public static void main(String[] args) {
System.out.println("Hello World");
}
}
// ↑JAVA
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
// ↑C++

可以看到JAVA和C++程序主体都包含在一个“皮”里面,而python可以直接

1
print("Hello, Wrold!")

所以PY是脚本化的一门语言。

为什么要使用PYTHON

PYTHON的好处实在是太多了,这里只列出几点

1.学习简单易上手

PYTHON语法简单,偏向口语化,方便编程。同时,代码结构简单,很容易就能看懂。

2.共享资源丰富, 可以随便用

网络上有许多开源的包(PACKAGE)可供使用。也有许多网友分享的开源项目可以借鉴。能避免许多重复造轮子的工作。

3.功能强大

PYTHON不仅可以用来做WEB开发,同时还可以做爬虫、人工智能、游戏等相关项目。

基本语法

0.简单的代码示例

1
2
3
4
5
6
7
# 定义了一个函数
def hello():
print("Hello, world! ")


# 执行这个定义了的函数
hello()

该代码执行完之后会在窗口输出 “Hello, world! “, 其中 def hello() 表示定义了一个叫 hello 的函数。 后面的 hello() 则执行了这个函数。
def hello() 里面的 print(“Hello, world! “) 的功能则是在输出窗口打印 “Hello, world! “ 这个字符串。

1.PYTHON的缩进

PYTHON的缩进要求比较严格。代码的结构分层大部分是由缩进来完成的。如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# python中的if分层(纯空格与换行):
if isTrue:
Do Someting
Do Anotherthing
else:
Do Otherting

# C++中的if分层(使用大括号):
if(isTrue) {
Do Someting;
Do Anotherthing;
}
else {
Do Otherting
}

同时,PYTHON的缩进只能使用空格,不能使用占位符(部分IDE的TAB键)。并且在缩进时要严格对其,否则会报错。

2.PYTHON的空行

PY的换行表示函数或类的方法结束了,另一段新的代码的开始。不过这个是为了方便人们浏览代码,如果两段函数之间没有空行,运行的时候也不会报错

3.注释

在1 中已经有了使用示例,PY的注释使用# 作为一整行的注释
多行注释的话则使用三个连续的引号,如:

‘’’
多行
注释
‘’’

4.常用数据类型

数字(Number):数字类型包括了整型(int)、浮点型(float)等用数字表示的数据类型。
字符串(String):字符串是由一个个字符组成,所以它不单可以取整体,还可以取其中的一个字符。如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
str = "String"
print(str) # 输出为 String
print(str[1]) # 输出为 t
```
> 列表(List):列表类似数组,但是它可存放的不只是单种类型数据,它可以存放混合的数据类型。

'''
lis = [1, 'a', 'abc', 3.14]
print(lis) # 输出为 [1, 'a', 'abc', 3.14]
print(lis[2]) # 输出为 abc
'''
> 元组(tuple):类似于list但是不能重新赋值
```text
tup = ("name", "Jack", 12 )

字典(dictionary):类似于json,里面的元素是通过键值存取

1
2
3
4
5
6
7
8
9
dic = {}
dic["name"] = "Jack"
dic["age"] = 18

# 也可以用
dic = {"name": "Jack", "age": 18}

print(dic["name"]) #输出为 Jack

常用的数值转换
int(x) # 转换为整型
float(x) # 转换为float
str(x) # 转换为字符串
dict(d) # 将元组d转换为字典

常用的运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 普通运算符
+ 加
- 减
* 乘
/ 除
% 取余
// 取整 # 这个与很多其它语言不同

#
++ 自增
-- 自减

# 逻辑运算符
== 等于
!= (或 <> ) 不等于
>, >= 大于和大于等于
<, <= 小于和小于等于
and 与
or 或
not 非
in (not in) 判断一个x是否在y里面

= 赋值
?= ?可以是任意普通运算符,A ?= B -> A = A ? B

条件语句

1
2
3
4
5
6
7
8
9
10
# if条件判断:
if 判断1:
判断1成立执行
elif 判断2:
判断2成立执行
else:
判断都不成立执行

# elif 和 else 可以省略

循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# while 循环
while 条件:
步骤1
步骤2 ……


# for循环
for A in B:
步骤1
步骤2 ……

# A 为 B 中的某个元素,会随着循环依次往后

# break 和 continue
# break 会跳出当前整个循环
# continue 会直接执行下一次循环

# pass 就是pass 什么都不做,用于让代码易于看懂

函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 基本形式
def 函数名(参数):
函数主体
return

# eg:
def changeName(name):
name = "Jack " + name
print(name)
return True
# 该函数会将name前面加上Jack 并输出。但是并不会改变name的值,因为它是不可变对象
# 在 python 中,strings 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象
# 函数参数也可以是多个、也可以没有

类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 类的定义
class 类名:
各种变量
各种函数方法

# 类的初始化, ()内参数看需求
cla = 类名()
# 如(__init__ 为类的构造函数默认名):
class People:
name = ""
age = 0

def __init__(self,n,a):
self.name = n
self.age = a


# 如果要初始化就需要带参数
people = People("Jack", 18)

模块
import 可以导入python库或者是自己定义的方法与类

1
2
3
4
5
6
7
8
9
import math # 导入math库

# 导入自定义的方法和类
# 在同目录下有个叫 Student.py 的文件需要导入
import Student

# 仅导入 Student.py 中的 Stu 类
from Student import Stu

  • 技术
  • 培训

扫一扫,分享到微信

微信分享二维码
前端基础知识
MarkDown语法
© 2021 Jkle Lin
Hexo Theme Yilia by Litten
  • 所有文章
  • 关于我

tag:

  • 技术
  • 培训
  • 日常
  • 教程

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

你好

很高兴见到你
谢谢大家