开始我们紧张刺激的学习吧
python的学习非常简单,但是当我们开始打开电脑,自己操作的时候会变得一脸懵逼,这是因为缺乏足够多的实践,所以建议大家在python的学习中一定要多动手,通过自己的实践与学习结合,我们才会掌握真正的python。
学习编程不知是看完一本书,或者看完一套视频,学习的时候需要你模仿着示例敲一遍代码,不要怕麻烦、不要嫌简单,当你动手敲代码的时候,就会发现很多眼睛会忽略的细节:小到中文标点还是英文标点、大到语句之间的逻辑关系。当然,在你发现亲手写出的程序运行成功之后,你也会感受到无比的喜悦!
到这一步说明你已经搭建好了IDE。
下面就是学习的内容了。
字符串
字符串(String)
python中单引号和双引号使用完全相同。
使用三引号(’’'或""")可以指定一个多行字符串。
转义符 ‘’
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。
按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
字符串可以用 + 运算符连接在一起,用 * 运算符重复。
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
Python中的字符串不能改变。
Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,
可以由多行组成"""
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
通俗来说:
字符串的分片与索引
字符串可以通过 string[x] 的方式进行索引、分片,也就是加一个 [] 。字符串的分片(slice) 实际上可以看作是从字符串中找出来你要截取的东西,复制出来一小段你要的长度,储存在另一个地方,而不会对字符串这个源文件改动。分片获得的每个字符串可以看作是原字符串的一个副本。
先来看下面这段代码。如果你对字符串变量后面一些莫名其妙的数字感到困惑和没有头绪的话,不妨对照着代码下面的这个表格来分析。
name = 'My Name is Mike'
print(name[0])
'M'
print(name[-4])
'M'
print(name[11:14]) # from 11th to 14th, 14th one is excluded
'Mik'
print(name[11:15]) # from 11th to 15th, 15th one is excluded
'Mike'
print(name[5:])
'me is Mike'
print(name[:5])
'My Na'
: 两边分别代表着字符串的分割从哪里开始,并到哪里结束。
以 name[11:14] 为例,截取的编号从第11个字符开始,到位置为14但不包含第14个字符结束。
而像 name[5:] 这样的写法代表着从编号为5的字符到结束的字符串分片。
相反, name[:5] 则代表着从编号为0的字符开始到编号为5但不包含第5个字符的字符分片。可能容易搞混,可以想象成第一种是从5到最后面,程序员懒得数有多少个所以就省略地写。第二种是从最前面到5,同样是懒得写0,所以就写成了 [:5]。
字符串的方法
Python 是面向对象进行编程的语言,而对象拥有各种功能、特性,专业术语称之为——方法(Method)。为了方便理解,我们假定日常生活中的车是“对象”,即car。然后众所周知,汽车有着很多特性和功能,其中"开"就是汽车一个重要功能,于是汽车这个对象使用“开”这个功能,我们在 Python 编程中就可以表述成这样:car.drive().
drive就属于car的一个方法。
字符串格式化符
当字符串中有多个“空”需要填写的时候,我们可以使用 .format() 进行批处理,它的基本使用方法有如下几种,输入代码:
print('{} a word she can get what she {} for.'.format('With','came'))
print('{preposition} a word she can get what she {verb} for'.format(preposition = 'With',verb = 'came'))
print('{0} a word she can get what she {1} for.'.format('With','came'))
大家仔细管擦就可以发现, .format() 函数的内容帮我们填充了{}所遗留的空。
转义字符
在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:
Python字符串运算符
下表实例变量a值为字符串 “Hello”,b变量值为 “Python”:
Python字符串常用函数
print功能
print 字符串
python 中 print 字符串 要加’'或者""
print 字符串叠加
可以使用 + 将两个字符串链接起来, 如图:
简单运算
可以直接print 加法+,减法-,乘法*,除法/. 注意:字符串不可以直接和数字相加,否则出现错误。
print(‘iphone’+4) #字符串不可以直接和数字相加 但是可以 print(‘iphone’+‘4’)’'把4变成字符来进行字符串的合并。
而且“字符串”*x,相当于将这个字符串打印x编。
基础数学运算——运算符
基本的加减乘除
python可以直接运算数字,也可以加print 进行运算.
^ 与 **
python当中 ^ 符号,区别于Matlab,在python中,^ 用两个表示,如3的平方为32 , **3表示立方,**4表示4次方,依次类推.
取余数 %
余数符号为“%”,见代码.
Python比较运算符
以上都属于算数运算符,接下来讲的是比较运算符:
Python赋值运算符
Python逻辑运算符
Python运算符优先级
其中的身份运算符,成员运算符,位运算符很容易理解,用的也比较少,所以就不单独说明了。
变量 variable
自变量命名规则
可以将一个数值,或者字符串附值给自变量,如apple=1 中,apple为自变量的名称,1为自变量的值。 也可以将字符串赋值给自变量 apple=‘iphone8 plus’
如果需要用多个单词来表示自变量,需要加下划线,如apple_2019=‘iphone8 plus’ 请看代码
一次定义多个自变量 a,b,c=1,2,3。
简单地说,变量是一个存储单位,变量会暂时性地储存你放进去的东西。这里的=就是赋值符(==是判断符,注意区别),Python 对大小写敏感,也就是说 “a” 和 “A” 会是两个不同的变量,而不是同一个。
到这里相信大家对 print(x)和 print(‘x’)有了区分,如果加了‘’这里是打印的是字符串,而不加‘’表示打印变量,如果我们没有给变量赋值,那么就会报错:
数据类型
Python中有六个标准的数据类型:
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
如果你不知道变量是什么类型,可以通过 type() 函数来查看类型,在 IDE 中输入 print(type(word)) 。
Python数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
函数 | 描述 |
---|---|
int(x [,base]) | 将x转换为一个整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个 (key, value)元组序列 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
知识扩展
这里的只是给大家说们一下相关的Python的基础语法,以免你后期遇到莫名奇妙的问题无法解决。
编码
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:
# -*- coding: cp-1252 -*-
上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语、白罗斯语、马其顿语、俄语、塞尔维亚语。
python保留字
保留字即关键字,我们不能把它们用作任何标识符(包括变量)名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
注释
Python中单行注释以 # 开头,实例如下:
>>> print("a") #这是一个注释
a
>>>
多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来,例如:
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("Hello, World!")
"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号
这是多行注释,用三个双引号
"""
print("Hello, World!")
行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
if True:
print ("True")
else:
print ("False")
以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 缩进不一致,会导致运行错误
多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,例如:
total = item_one + \
item_two + \
item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:
total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
数字(Number)类型
python中数字有四种类型:整数、布尔型、浮点数和复数。
int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
bool (布尔), 如 True。
float (浮点数), 如 1.23、3E-2
complex (复数), 如 1 + 2j、 1.1 + 2.2j
有关数字函数
空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
等待用户输入
执行下面的程序在按回车键后就会等待用户输入:
input("\n\n按下 enter 键后退出。")
以上代码中 ,"\n\n"在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。
同一行显示多条语句
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:
import sys; x = 'runoob'; sys.stdout.write(x + '\n')
使用脚本执行以上代码,输出结果为:
runoob
使用交互式命令行执行,输出结果为:
>>> import sys; x = 'runoob'; sys.stdout.write(x + '\n')
runoob
7
此处的 7 表示字符数。
多个语句构成代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
if expression :
suite
elif expression :
suite
else :
suite
Print 输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":
import 与 from…import
在 python 用 import 或者 from…import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *
扩展内容选自:菜鸟教程