本帖最后由 Lois 于 2017-9-12 14:10 编辑
为什么要用Python:比C语言等语言高效,便捷,学习方便。
Python 的发展历程
Python 1.0 1994 刚刚创建了1.0
Python 2.0 2000 加入了内存回收机制,构成了现在Python 语言框架的基础
Python 2.4 2004 ,同年Django诞生
Python 2.5 2006
Python 2.6 2008
Python 2.7 2010
Python 3.0 2008
目前主流的一些项目是使用的2.7的,由于在2.7的时候,官方推出3.0的系统是完全不兼容2.x的版本。所以很多的项目并没有迁移过来。所以面试市场官方也有一些做法,就是升级2.6.1。3.0的系统更多的是改变了一些语法,以及Python的一些思想上变动。
Python2.X和Python3.0的不同
1.Python3.0默认支持中文,它的码表是Unicode
Python2.0需要中文的时候得申明,它的码表示Assic
2.Python3.0不兼容2.0
3.Python3.0的核心语法更好学
4.Python的一些新特性只有Python上上面有
Python未来的版本
Python的3.0是在2008年发布的。2.X的最后版本是2.7。Python最终的发展是3.0。
Python的官网
https://www.python.org 可以进行下载Python,了解Python最新的版本
Python的变量命名
变量:为了存储程序过程中间的结果,能被操作修改,描述的数据,存在内存当中。
变量的命名规则:
1.要具有描述性
2.变量名只能_,数字,字母组成,不可以是空格或特殊字符(#?<.,¥$*!~)
3.不能以中文为变量名
4.不能以数字开头
5.保留字符是不能被使用
常量:不变的量,一般是大写的
Python中建议命名一般如: student_name(中间加上下滑线)
Python的注释
单行注释:用#
多行注释用三个单引号或三个双引号 ''' 注释内容 ''' '' '' '' 注释内容 '' '' ''
Python的小例子
[Python] 纯文本查看 复制代码
print("我爱黑马,我爱上海") #输出语句
[Python] 纯文本查看 复制代码
name = input("学生的名字")
age = input ("学生的年龄")
print(type(age)) #输入语句,接收的都是字符串
print("学生的名字:"+name+"学生的年龄:"+age)
[Python] 纯文本查看 复制代码
score=int(input("score:")) #输入语句,接收的都是字符串,可以强转成int的类型
if score > 90: # if,elif,else语句,用于做判断
print("A")
elif score > 80:
print("B")
elif score > 70:
print("C")
else:
print("D")
Python的基本数据类型
1.数字类型
整型
长整型(python3.0以后不区分长整型,python2.0是后面加一个L)
浮点型
[Python] 纯文本查看 复制代码
a=10
b=3.14
c=2**32
2.字符串类型
2.1创建字符串
[Python] 纯文本查看 复制代码
var1= 'hello shanghai'
var2='wo ai heima'
2.2对应的操作
[Python] 纯文本查看 复制代码 print(var1) #打印
print(var1[2:])#获取字符串里面的值,切片
print('he' in 'hello')#包含给定的字符串返回true
a='I love ' #拼接字符串,但是效率低,因为开辟了三个内存
b='China'
c=a+b
print(d)
d=' '.join([a,b,c]) #效率低
print(d)
3.布尔值
一个布尔值只有True,False两种值
[Python] 纯文本查看 复制代码
print(True)
print(4>2)
4.列表
列表(list)是Python以及其他语言中最常用到的数据结构之一。Python使用使用中括号 [ ] 来解析列表。列表是可变的(mutable)——可以改变列表的内容。
对应的操作:
4.1 查
[Python] 纯文本查看 复制代码
names_class2=['张三','李四','王五','赵六']
print(names_class2[2]) #获取角标是2的 print(names_class2[0:3]) #获取角标从零到3的, 包含角标0,不包含角标3
print(names_class2[0:7]) #当不知道列表的长度,可以写大于列表长度的
print(names_class2[-1]) #从后往前数
print(names_class2[2:3]) #
print(names_class2[0:3:1]) # 最后一个参数是步长
print(names_class2[3:0:-1]) #从右往左
print(names_class2[:]) #全部
[Python] 纯文本查看 复制代码 [/align][align=left]>>> print(names_class2[2])
王五
>>> print(names_class2[0:3])
['张三', '李四', '王五']
>>> print(names_class2[0:7])
['张三', '李四', '王五', '赵六']
>>> print(names_class2[-1])
赵六
>>> print(names_class2[2:3])
['王五']
>>> print(names_class2[0:3:1])
['张三', '李四', '王五']
>>> print(names_class2[3:0:-1])
['赵六', '王五', '李四']
>>> print(names_class2[:])
['张三', '李四', '王五', '赵六'] 4.2增(append,insert) [Python] 纯文本查看 复制代码 [/font]
[font=Consolas,]names_class2.append('alex') #在末尾添加
names_class2.insert(2,'alvin') #指定位置添加
print(names_class2)[/font]
[font=Consolas,] 4.3 改
[Python] 纯文本查看 复制代码 [/font]
[font=Consolas,]names_class2=['张三','李四','王五','赵六']
names_class2[3]='赵七' #改变对应的坐标上的值
names_class2[0:2]=['wusir','alvin'] #改变两个值
print(names_class2)[/font]
[font=Consolas,]
4.4删
[Python] 纯文本查看 复制代码
names_class2=['张三','李四','王五','赵六']
names_class2.remove('李四') #删除对应的值
del names_class2[0] # 删除对应角标的值
names_class2.pop(). #从右往左弹出来值
del names_class2 #删除整个列表
4.5 count[Python] 纯文本查看 复制代码 [/font]
[font=Consolas,]['to', 'be', 'or', 'not', 'to', 'be'].count('to') #有几个to
2
>>> x = [[1,2], 1, 1, [2, 1, [1, 2]]] #嵌套列表
>>> x.count(1) #嵌套里面的小列表是算一个整体,所以是1
2
>>> x.count([1,2])
1
4.6 extend
[Python] 纯文本查看 复制代码
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a.extend(b) #一次性追加另外一个列表
>>> a
[1, 2, 3, 4, 5, 6]
4.7 reverse。
[Python] 纯文本查看 复制代码 [/font]
[font=Consolas,]names_class2.reverse() #元素反向存放
print(names_class2)[/font]
[font=Consolas,]
4.8 sort
[Python] 纯文本查看 复制代码
x = [4, 6, 2, 1, 7, 9]
x.sort() #排序
|
|