黑马程序员技术交流社区

标题: Python学习笔记 [打印本页]

作者: Lois    时间: 2017-9-3 11:12
标题: Python学习笔记
本帖最后由 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] 纯文本查看 复制代码
>>> 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] 纯文本查看 复制代码

names_class2.append('alex')        #在末尾添加
names_class2.insert(2,'alvin')     #指定位置添加
print(names_class2)

4.3 改
[Python] 纯文本查看 复制代码

names_class2=['张三','李四','王五','赵六']
names_class2[3]='赵七'                     #改变对应的坐标上的值
names_class2[0:2]=['wusir','alvin']       #改变两个值      
print(names_class2)


4.4删
[Python] 纯文本查看 复制代码

names_class2=['张三','李四','王五','赵六']
names_class2.remove('李四')      #删除对应的值
del names_class2[0]             # 删除对应角标的值
names_class2.pop().             #从右往左弹出来值
del names_class2                #删除整个列表

4.5 count
[Python] 纯文本查看 复制代码

['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] 纯文本查看 复制代码

names_class2.reverse()  #元素反向存放
print(names_class2)


4.8 sort
[Python] 纯文本查看 复制代码

x = [4, 6, 2, 1, 7, 9]
x.sort()           #排序



作者: 卡卡洛特    时间: 2017-9-3 20:47
好。。

作者: Yin灬Yan    时间: 2017-9-14 20:26
我来占层楼啊  
作者: 灰色城墙    时间: 2017-10-8 17:00
小白来学习了!





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2