Python基础语法

一、安装

1、要想使用python进行开发,首先保证自己的机器拥有python环境,这里推荐Windows安装python3的博客教程:https://zhuanlan.zhihu.com/p/111168324

2、有了python后,需要选择一款集成开发环境提高我们的编程效率,推荐使用pycharm,安装教程:https://www.cnblogs.com/du-hong/p/10244304.html

3、对于新手来说,可以查看这篇教程学习使用pycharm:https://blog.csdn.net/yu1014745867/article/details/81583043

二、基本使用

Ⅰ:print功能

1、print字符串:字符串用 ‘’ 或者 “” 包含起来,以下两句执行结果均为输出Hello;

print('Hello')
print("Hello")

2、print字符串叠加:打印两个字符串可以直接用加号连接,语句一和语句二均打印hello world;

# 语句一
print("hello" + " world")
# 语句二
a = "hello"
b = " world"
print(a + b)

3、print简单运算:print可以直接打印简单的运算结果,例如加减乘除(代码块一)。需要注意:不能用字符串加数字,会报错,例如语句二;

# 代码块1
print(1 + 2)
print(1 - 2)
print(1 / 2)
print(1 * 2)
# 语句二 报错
print(1 + "hello")

Ⅱ:基础数学运算

1、幂次方表示 用 m**n 表示m的n次方,** 表示平方, **3 表示三次方,**4 表示四次方,以此类推;

# 表示2的三次方
a = 2 ** 3
print(a)

2、取余数,"%",m%n表示m对n取余数;

3、加减乘除便不再赘述;

Ⅲ:变量

1、Python变量的命名不同于c语言,不需要指定该变量是什么类型,直接赋值便可以,若想知道变量是什么类型,可以用函数type(变量名)查看,如下;

# a是int型变量 值为1
a = 1
# b为float类型变量 值为1.0
b = 1.0
# c为列表型变量 列表后面会提及
c = []
# 输出变量a的类型
print(type(a))

2、多个单词定义变量名,用下划线分隔开,例如:定义变量表示数学测试分数为98;

test_math_score = 98

3、一次定义多个变量,以下语句执行结果,a = 1;b = 2;c = 3

a, b ,c = 1, 2, 3

三、 while 和 for 循环

Ⅰ:while循环

1、while循环表达式如语句块一;其中condition为判断条件,如果结果为true,执行语句块二,反之不执行;需要注意的是,在python中代码块不再用大括号表示,而是用缩进表示,如果缩进相同,表示同一个代码块,如语句块三;如果缩进不同,则是另一个语句块,如语句块四;注意冒号不能掉;

# 语句块一
while comdition:
            # 语句块二
            语句块二
# 语句块三
# 死循环 因为1 > 0始终成立 在这个循环中 a,b,c的自增缩进相同 属于同一个代码块 因此每次循环都会执行
while 1 > 0:
            a += 1
            b += 1
            c += 1
# 语句块四
# d的自增缩进和a,b,c的自增缩进不同,因此不是同一个代码块,只有循环执行完后才会执行
d += 1

2、对于condition做出以下说明:

(1):判断条件可以是 大于:>;小于:<;大于等于:>=;小于等于:<=;不等于:!= ;

(2):condition可以是数字,整型浮点型都可以,如果值为0,返回false,不为0返回true;

(3):如果condition数据类型为None,返回false,反之为true;

(4):如果condition为集合类型(list,tuple,dict,set),判断其中元素个数,如果为0,返回false,反之true;

3、小练习,用while循环实现1-100的求和运算,代码如下:

if __name__ == '__main__':
    i = 1
    sum1 = 0
    while i <= 100:
        sum1 += i
        i += 1
    print(sum1)

Ⅱ:for循环

1、python中for基本用法如代码块一,sequence为可迭代对象,item为其中的元素,实例如代码块二:for循环和while一样,靠缩进区分代码块,一定记住这一点,python用缩进区分代码块;

# 代码块一
for item in sequence:
	expressions
# 代码块二
list = [1, 2 , 3, 4, 5]
for i in list:
	print(i)
print(finished)

2、range的使用:range会返回一个序列,共三种用法:

(1):range(start, stop):返回[start, stop)的序列,包括start,不包括stop;

# 输出1 2 3 4 5 6 7 8 9
for i in range(1,10):
	print(i)

(2):range(stop):相当于range(0,stop),输出[0, stop)的值;

# 输出0 1 2 3 4 5 6 7 8 9
for i in range(10):
	print(i)

(3):range(start,stop,step):产生[start,stop),间隔为step的序列;

# 输出0 5 10
for i in range(0,13,5):
	print(i)

3、内置集合也可迭代,列表、字典、元组;

4、迭代器和生成器也可迭代;

四、if判断句

Ⅰ:if

1、一般形式,代码块一,示例为代码块二;

# 代码块一
if condition:
	expression
#代码块二 输出 0 1 2 3 4 5
i = 0
if i <= 5:
	print(i)
	 i+=1

Ⅱ:if-else

1、一般形式如图代码块一,如果condition为true,执行expression1,如果为false执行expression2,实例为代码块二;

# 代码块一
if condition:
	expression1
else
	expression2
#代码块二 输出 2
x = 1
y = 2
if i x > y:
	print(x)
else
	print(y)

Ⅲ if-elif-else

1、如果有多个判断条件,那可以通过 elif 语句添加多个判断条件,一旦某个条件为 True,那么将执行对应的 expression。 并在之代码执行完毕后跳出该 if-elif-else 语句块,往下执行

x = 4
y = 2
z = 3
if x > 1:
    print ('x > 1')
elif x < 1:
    print('x < 1')
else:
    print('x = 1')
print('finish')

五、定义功能

Ⅰ:def函数

1、如果我们用代码实现了一个小功能,但想要在程序代码中重复使用,不能在代码中到处粘贴这些代码,因为这样做违反 了软件工程中 DRY原则。 Python 提供了 函数功能,可以将我们这部分功能抽象成一个函数以方便程序调用,或者提供给其他模块使用;

2、基本使用,python使用def开始定义函数,function_name是函数名,可以用户自定义,括号内的parameters为传入函数的参数,如果函数需要返回值,直接在expression中return;

def function_name(parameters):
    expressions

3、如果需要调用,直接在函数中调用就好,以下示例为:在主函数输入a,b,调用函数求a+b;

def get_add(a1, b1):
    return a1 + b1


if __name__ == '__main__':
    a, b = map(int, input().split())
    sum1 = get_add(a, b)
    print(sum1)

六、变量形式

Ⅰ:局部变量

1、假如在一个函数中定义一个变量a,那么这个变量仅仅只能在该函数内部使用,在函数外调用便会报错。

APPLE = 100 # 全局变量
def fun():
    a = 10  # 局部变量
    return a+100

print(APPLE)    # 100
print(a)    # 报错, 不能拿到一个局部变量的值

Ⅱ:全局变量

1、那如何在外部也能调用一个在局部里修改了的全局变量呢. 首先我们在外部定义一个全局变量 a=None, 然后再 fun() 中声明 这个 a 是来自外部的 a. 声明方式就是 global a. 然后对这个外部的 a 修改后, 修改的效果会被施加到外部的 a 上. 所以我们将能看到运行完 fun(), a 的值从 None 变成了 20.

APPLE = 100 # 全局变量
a = None
def fun():
    global a    # 使用之前在全局里定义的 a
    a = 20      # 现在的 a 是全局变量了
    return a+100

print(APPLE)    # 100
print('a past:', a)  # None
fun()
print('a now:', a)   # 20

七、模块安装

Ⅰ:外部模块

1、外部模块就是在你 import 什么东西去python 脚本的时候会用到的.这里的 Numpy 和 matplotlib 都是外部模块, 需要安装以后才会有的. 他不属于 python 自带的模块.

import numpy as np
import matplotlib.pyplot as plt

2、安装方式,对于windows电脑,win+R打开命令行窗口,输入 pip install 你要的模块名;

pip3 install numpy

Ⅱ:更新外部模块

1、使用 pip 更新外部模块会十分简单. 主需要在 命令行窗口 中输入下面的指令就行. 这里的 -U 就是 update 意思.

 pip3 install -U numpy 

八、文件读取

1、定义 text 为字符串, 并查看使用 \n 和不适用 \n 的区别:

text='This is my first test. This is the second line. This the third '
print(text)  # 无换行命令

"""
This is my first test. This is the second line. This the third
"""

text='This is my first test.\nThis is the second line.\nThis the third line'
print(text)   # 输入换行命令\n,要注意斜杆的方向。注意换行的格式和c++一样

"""
This is my first test.
This is the second line.
This the third line
"""

Ⅰ:open读文件

1、使用 open 能够打开一个文件, open 的第一个参数为文件名和路径 ‘C:/Users/YBL/Desktop/test/1.txt’, 第二个参数为将要以什么方式打开它, 比如 w 为可写方式. 如果计算机没有找到 ‘1.txt’ 这个文件, w 方式能够创建一个新的文件, 并命名为 my file.txt

if __name__ == '__main__':
    # 写入文档的内容
    text = 'this is file'
    # 创建文件对象 第一个参数为路径 第二个为打开方式 r:read 读取 w:write 写入 如果没查到则创建文件
    my_file = open("C:/Users/YBL/Desktop/test/1.txt", "w")
    # 写入内容
    my_file.write(text)
    # 关闭
    my_file.close()


Ⅱ:tab 对齐

1、使用 \t 能够达到 tab 对齐的效果:

text='\tThis is my first test.\n\tThis is the second line.\n\tThis is the third line'
print(text)  #延伸 使用 \t 对齐

"""
    This is my first test.
    This is the second line.
    This is the third line
"""

Ⅲ:给文件增加内容

1、我们先在路径C:/Users/YBL/Desktop/test保存一个已经有3行文字的1.txt 文件, 文件的内容如下:然后使用添加文字的方式给这个文件添加一行 This is appended file., 并将这行文字储存在 append_file 里,注意\n的适用性:代码为第二段代码;

This is my first test. 
This is the second line.
This the third

if __name__ == '__main__':
    # 写入文档的内容
    append_file = "\n\tThis is appended file."
    # 创建文件对象 第一个参数为路径 第二个为打开方式 a 以新增的方式打开文件
    my_file = open("C:/Users/YBL/Desktop/test/1.txt", "a")
    # 写入内容
    my_file.write(append_file)
    # 关闭
    my_file.close()

Ⅳ:读取文件内容

1、使用 file.read() 能够读取到文本的所有内容.

if __name__ == '__main__':
    # 写入文档的内容
    append_file = "\n\tThis is appended file."
    # 创建文件对象 第一个参数为路径 第二个为打开方式 r以读取文件内容打开
    my_file = open("C:/Users/YBL/Desktop/test/1.txt", "r")
    # 读取内容
    print(my_file.read())
    # 关闭
    my_file.close()

2、按行读取:如果想在文本中一行行的读取文本, 可以使用 file.readline(), file.readline() 读取的内容和你使用的次数有关, 使用第二次的时候, 读取到的是文本的第二行, 并可以以此类推:

if __name__ == '__main__':
    # 写入文档的内容
    append_file = "\n\tThis is appended file."
    # 创建文件对象 第一个参数为路径 第二个为打开方式 a 以新增的方式打开文件
    my_file = open("C:/Users/YBL/Desktop/test/1.txt", "r")
    # 写入内容
    print("全部读取:" + my_file.read())
    my_file.close()
    my_file = open("C:/Users/YBL/Desktop/test/1.txt", "r")
    print("第一次单行读取" + my_file.readline())
    print("第二次单行读取" +my_file.readline())
    print("第三次单行读取" +my_file.readline())
    # 关闭
    my_file.close()

3、读取所有行:如果想要读取所有行, 并可以使用像 for 一样的迭代器迭代这些行结果, 我们可以使用 file.readlines(), 将每一行的结果存储在 list 中, 方便以后迭代.

if __name__ == '__main__':
    # 写入文档的内容
    append_file = "\n\tThis is appended file."
    # 创建文件对象 第一个参数为路径 第二个为打开方式 a 以新增的方式打开文件
    my_file = open("C:/Users/YBL/Desktop/test/1.txt", "r")
    comments = my_file.readlines()
    for i in comments:
        print(comments)
    # 关闭
    my_file.close()

九、类Class

1、class 定义一个类, 后面的类别首字母推荐以大写的形式定义,比如Calculator. class可以先定义自己的属性,比如该属性的名称可以写为 name=‘Good Calculator’. class后面还可以跟def, 定义一个函数. 比如def add(self,x,y): 加法, 输出print(x+y). 其他的函数定义方法一样,注意这里的self 是默认值。注意定义自变量cal等于Calculator要加括号() ,cal=Calculator()否则运行下面函数的时候会出现错误,导致无法调用.

class Calculator:       #首字母要大写,冒号不能缺
    name='Good Calculator'  #该行为class的属性
    price=18
    def add(self,x,y):
        print(self.name)
        result = x + y
        print(result)
    def minus(self,x,y):
        result=x-y
        print(result)
    def times(self,x,y):
        print(x*y)
    def divide(self,x,y):
        print(x/y)

""""
>>> cal=Calculator()  #注意这里运行class的时候要加"()",否则调用下面函数的时候会出现错误,导致无法调用.
>>> cal.name
'Good Calculator'
>>> cal.price
18
>>> cal.add(10,20)
Good Calculator
30
>>> cal.minus(10,20)
-10
>>> cal.times(10,20)
200
>>> cal.divide(10,20)
0.5
>>>
""""

2、__init__可以理解成初始化class的变量,取自英文中initial 最初的意思.可以在运行时,给初始值附值,运行c=Calculator(‘bad calculator’,18,17,16,15),然后调出每个初始值的值。看如下代码。

class Calculator:
    name='good calculator'
    price=18
    def __init__(self,name,price,height,width,weight):   # 注意,这里的下划线是双下划线
        self.name=name
        self.price=price
        self.h=height
        self.wi=width
        self.we=weight
""""
>>> c=Calculator('bad calculator',18,17,16,15)
>>> c.name
'bad calculator'
>>> c.price
18
>>> c.h
17
>>> c.wi
16
>>> c.we
15
>>>
""""

十、input

1、variable=input() 表示运行后,可以在屏幕中输入一个数字,该数字会赋值给自变量。看代码:默认输入字符串

a_input=input('please input a number:')
print('this number is:',a_input)

''''
please input a number:12 #12 是我在硬盘中输入的数字
this number is: 12
''''

2、输入整数

a_input=int(input('please input a number:'))#注意这里要定义一个整数型

3、输入多个整数

a,b=map(int,input().split())

十一、元组、列表、字典

1、该部分详细查看教程:https://www.runoob.com/python3/python3-list.html

十二、模块

Ⅰ:导入模块

1、方法一:import time 指 import time 模块,这个模块可以python自带,也可以是自己安装的,比如以后会用到numpy这些模块,需要自己安装。

import time
print(time.localtime())  #这样就可以print 当地时间了
""""
time.struct_time(tm_year=2016, tm_mon=12, tm_mday=23, tm_hour=14, tm_min=12, tm_sec=48, tm_wday=4, tm_yday=358, tm_isdst=0)
""""

2、方法二:import time as __,__下划线缩写部分可以自己定义,在代码中把time 定义成 t.

import time as t
print(t.localtime()) # 需要加t.前缀来引出功能

""""
time.struct_time(tm_year=2016, tm_mon=12, tm_mday=23, tm_hour=14, tm_min=12, tm_sec=48, tm_wday=4, tm_yday=358, tm_isdst=0)
""""

3、方法三:from time import time,localtime ,只import自己想要的功能.

from time import time, localtime
print(localtime())
print(time())
""""
time.struct_time(tm_year=2016, tm_mon=12, tm_mday=23, tm_hour=14, tm_min=41, tm_sec=38, tm_wday=4, tm_yday=358, tm_isdst=0)

1482475298.709855
""""

4、方法四:from time import * 输入模块的所有功能

from time import *
print(localtime())
""""
time.struct_time(tm_year=2016, tm_mon=12, tm_mday=23, tm_hour=14, tm_min=41, tm_sec=38, tm_wday=4, tm_yday=358, tm_isdst=0)
""""

Ⅱ:自己的模块

1、模块写好后保存在默认文件夹:balance.py,然后在另一个python文件中import balance

十三、总结

1、python的大概入门教程就在这里了,还是需要多敲代码,动手练习,其中python还有多进程等等高级部分我也没学,就不写了,写的很简略,有不懂的也可以查询该网址详细了解:https://www.runoob.com/python3/python3-tutorial.html

你可能感兴趣的:(Python,python)