文章目录
(一)学习曲线
很多没有编程基础的小白不知道如何开始学习Python,建议是:
先学习基础语法,然后再学习爬虫,再学习数据分析。
因为爬虫和数据分析是Python语言的强项,而且学习起来也相对简单。
学完爬虫和数据分析之后,你想学习其他方向都可以。
学习编程没有捷径,只有多敲代码,才会熟悉,先模仿后创新!
(以上原文自公众号 - 裸睡的猪 - 并附有图片水印 - )
(二)入门须知
一、从IDLE启动python:
IDLE是一个python shell,shell是外壳的意思,相当于windows系统的cmd窗口,即一个键入文本与程序交互的途径。
打开IDLE,界面上显示python版本。在“>>>”该行代表可以正常进行工作了
注意python2. 与3. 有些不兼容,在语句上也有些差别,我用的是python3.6.2
切换上下一条语句,方向键(同Linux)
推荐几款不错的 Python IDE(集成开发环境)
比较推荐 PyCharm,当然你可以根据自己的喜好来选择适合自己的 Python IDE。
二、Windows下python环境变量配置
三、Python 编码规范(Google)
四、书写格式
没有{}而是缩进。没有变量声明。语句末尾没有分号。
注意冒号的用处。
BIF是什么?内置函数,比如print,input…
dir(builtins)两侧各两个下划线“查看python的所有BIF和一些其他,总之在显示中小写字母开头的是BIF”
help(input) 查看帮助,解释BIF
五、语法
1.列表-超级数组
数组:存放同一类型的数据。由于python没有数据类型,所以python没有数组一说,他有更为强大的“数组”即列表。
1.创建一个普通列表
member = ['张起灵','吴邪','王月半']
member(即可打印)
2.创建一个混合列表
mix = ['白云' , 123 , 0.01 , [1,2,3] ]
mix(即可打印,甚至有列表套列表)
3.创建一个空列表
list = []
list (将打印出 [ ] )
6.单行注释以 # 开头
多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来,符号各自独立成行
字符串
python中单引号和双引号使用完全相同。
使用三引号(’’'或""")可以指定一个多行字符串。
转义符 ‘’
自然字符串, 通过在字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。
word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,
可以由多行组成"""
空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
###等待用户输入
执行下面的程序在按回车键后就会等待用户输入:
#!/usr/bin/python3
input("\n\n按下 enter 键后退出。")
以上代码中 ,"\n\n"在结果输出前会输出两个新的空行。一旦用户按下键时,程序将退出。
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,
Print 输出
默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":
#!/usr/bin/python3
x="a"
y="b"
# 换行输出
print( x )
print( y )
print('---------')
# 不换行输出
print( x, end=" " )
print( y, end=" " )
print()
结果
a
b
---------
a b
import 与 from…import来导入相应模块
六、命令行参数
很多程序可以执行一些操作来查看一些基本信,Python可以使用-h参数查看各参数帮助信息:
我们在使用脚本形式执行 Python 时,可以接收命令行输入的参数,具体使用可以参照 Python 3 命令行参数
允许你同时为多个变量赋值。
例如:a = b = c = 1
也可以为多个对象指定多个变量。例如:a, b, c = 1, 2, “runoob”
使用del语句删除单个或多个对象
七、 标准数据类型
Python3 中有六个标准的数据类型:
1、Number(数字)
熟悉十六进制和八进制
-------------python3支持哪4种?和python哪一种有变化?
------------内置的 type() 函数可以用来查询变量所指的对象类型。此外还可以isinstance 来判断
a = 123
type(a) 直接显示类型
或
isinstance(a,str)判断,返回true或者false
String(字符串)
-------------’'与“”通用
字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号 (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数。实例如下:
str = 'Runoob'
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次
print (str + "TEST") # 连接字符串
1.字符串更新:你可以对已存在的字符串进行修改,并赋值给另一个变量,如下实例:
var1 = 'Hello World!'
print ("已更新字符串 : ", var1[:6] + 'Runoob!')
以上实例执行结果
已更新字符串 : Hello Runoob!
2.在需要在字符中使用特殊字符时,python用反斜杠()转义字符。
3.Python字符串格式化:使用与 C 中 sprintf 函数一样的语法。
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
输出结果:
我叫 小明 今年 10 岁!
python的字符串格式化符号有一大堆,格式化操作符辅助指令一堆…
4.Unicode 字符串
在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u。
在Python3中,所有的字符串都是Unicode字符串。
5.Python 的字符串内建函数…
3、反斜杠(\)
用途有两个:转义和续行符,表示下一行是上一行的延续。也可以使用 “”"…""" 或者 ‘’’…’’’ 跨越多行。
total = item_one + \
item_two + \
item_three
注:
1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
2、字符串可以用+运算符连接在一起,用*运算符重复。
3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
4、Python中的字符串不能改变。比如word[0] = 'm’会导致错误。
八、python3运算符
简单的不说了,罗列一下:
1.位运算符(把数字看作二进制来进行计算)&、|、^、~、<<、>>
2.逻辑运算符: and,or,not
3.成员运算符:测试实例中包含了一系列的成员,包括字符串,列表或元组:in,not in
4.身份运算符:用于比较两个对象的存储单元:is,is not
5.运算符优先级:
id() 函数用于获取对象内存地址。
List(列表)
是 Python 中使用最频繁的数据类型。元素的类型可以不相同,列表可以嵌套,嵌套的内层列表无法直接打印出来
列表截取的语法格式如下:
变量[头下标:尾下标]
>>> a = [1, 2, 3, 4, 5, 6]
>>> a[2:5] = [] # 删除
0.Python列表脚本操作符:len(), + - * in与for in
1.删除第三个元素 del list[2]
2.列表内置函数:len() max() min() list()将元组转换为列表
3.列表内置方法:
向列表末尾添加一个元素 list.append( 123 )
向列表添加多个元素//把两个列表拼接 list.extend( [1 , 2] )
指定添加的元素的位置 list.insert( 位置 , 内容 )----但凡是顺序索引,都是从0开始!!!
共11法
5.从列表中获取一个元素 list[ 1 ] 同数组
调换顺序
list = [1 , 2 , 3 ]
temp = list[0]
list[0] = list[1]
list[1] = temp
Tuple(元组)
与列表类似,不同在元组的元素不能修改。
tuple = ( 'abcd', 786 , 0.001, 'runoob')
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
为什么要用逗号???不用的输出看不出来区别
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号来消除歧义
否则括号会被当作运算符使用:
>>> tup1 = (50)
>>> type(tup1) # 不加逗号,类型为整型
<class 'int'>
>>> tup1 = (50,)
>>> type(tup1) # 加上逗号,类型为元组
<class 'tuple'>
string、list和tuple都属于sequence(序列)。
共同点:----1.都可以被索引(从0开始)和切片 --------2.可以使用+操作符进行拼接(两个列表/元组,而不能直接+‘字符串’,而对于字符串是可以的
-------------3.list和tuple格式都是 name = []/() 且都可以创建空的
不同:------1.只有list元素可以改变,----2.字符串的截取截的是一个个字母!!!
Sets(集合)
是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a和b的差集 (注意 a-b != b-a )
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b) # a和b中不同时存在的元素
Dictionary(字典)
是Python中另一个非常有用的内置数据类型。
改天再续!
###数据类型转换
简单来说,只需要将数据类型作为函数名即可