首页 > 代码库 > Python学习第一天
Python学习第一天
Python简介
请自行百度
Python版本
CPython、JPython...具体介绍请百度
Python应用
Web Programming:Django,Pyramid,Bottle,Tornado,Flask,Web2py
GUI Development:wxPython,tkinter,PyGtk,PyGObject,PyQt
Scientific and Numeric:SciPy,Pandas,IPython
Software Development:Buildbot,Trac,Roundup
System Administration:Ansible,Salt,OpenStack
Windows使用环境
使用Python2.7和Python3.5版本,课程以Python3为主。
下载Python2.7和3.0安装并配置环境变量
IDE使用pycharm
Python解释器执行的步骤
加载内存、语法分析、编译变成字节码,执行字节码,内存读取字节码,内存将字节码转换成机器码。
Python2.x和3.x常用语法不同之处
Python3默认编码为unicode,不再出现Python2中因编码问题出现的bug。
Old:raw_input input
New:input() eval(input())
Old:print
New:print() print("",end="")
input()==eval(input)#左边是python2写法,右边是python3写法
raw_input()==input()#左边是python2写法,右边是python3写法
数据类型分为两部分:
1、 单值
数字
整型
长整型
浮点型
复数
布尔值 True(1),False(0)
字符串
2、 集合
列表
元祖
字典
Set哈希表
变量命名规则
1、变量名只能是字母、数字或下划线的任意组合;变量名第一个字符不能是数字;变量名命名不能使用关键字。
如: [‘and‘,‘int‘,‘str‘]...
变量与赋值
赋值传参:将右边的参数赋值给左边的名称,名称为后期程序调用。
字符串需要加引号引起来,数字则不加引号
变量
#!/uer/bin/env python3
>>> name = "张三"#字符串需要用引号引起来
>>> age = 22 #数字不需要加引号
>>> print(name,age)
张三 22
>>> name = zhangsan #不加引号报错
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
name = zhangsan
NameError: name ‘zhangsan‘ is not defined
id() id用于查看变量内存地址是否一致
>>> a = 3
>>> b = a #内存中b指向3
>>> a = 5
>>> print(a,b)
(5, 3)
>>> a = 3
>>> b = a
>>> id(a);id(b)#内存地址一样
32046816
>>> a = 5
>>> id(a);id(b)#内存地址不一样
32046816
字符串 #不可修改的
字符格式化
#!/usr/bin/env python3
name = input("name:")
age = input("age:")
print("name %s:\nage %s:" % (name,age))
字符串格式符号含义#摘自bbs.fishc.com
符号 | 说明 |
%c | 格式化字符及其ASCII码 |
%s | 格式字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化定点数,可指定小数点后的精度 |
%e | 用科学计数法格式化定点数 |
%E | 作用同%e,用科学计数法格式化定点数 |
%g | 根据值的大小决定使用%f或者%e |
%G | 作用同%g,根据值的大小决定使用%f或者%E |
字符串转义字符含义#摘自bbs.fishc.com
符号 | 说明 |
\’ | 单引号 |
\” | 双引号 |
\a | 发出系统响铃声 |
\b | 退格符 |
\n | 换行符 |
\t | 横向制表符(TAB) |
\v | 纵向制表符 |
\r | 回车符 |
\f | 换行符 |
\o | 八进制数代表的字符 |
\x | 十六进制数代表的字符 |
\0 | 表示一个空字符 |
\\ | 反斜杠 |
字符串常用功能:
移除空白:strip(); lstrip(); rstrip()
分割:split() split(‘\t’) 按tab键分割
长度:len()
索引:0开始,-1从尾开始
切片:[0]
列表[] #数据可修改
列表写法:
name_list = ["alex","seven","eric"]
或
name_list = list(["alex","seven","eric"])
基本操作:
索引从0开始负数为-1开始
切片[0]
包含:in
长度:len()
删除: del(); del name_list [0]
循环:for
连接:join ; ‘_’.join(nam_list)
append追加
>>> name_list = ["alex","65brother","tenglan"]
>>> name_list.append("eric")
>>> name_list
[‘alex‘, ‘65brother‘, ‘tenglan‘, ‘eric‘]
count 统计
>>> name_list
[‘alex‘, ‘65brother‘, ‘tenglan‘, ‘eric‘, ‘65brother‘]
>>> name_list.count("65brother")#统计
extend 扩展
>>> name_list = [‘alex‘, ‘eric‘, ‘jkjl‘, ‘tenglan‘]
>>> name_list.extend(name_list)#一个列表扩展另一个列表
>>> name_list
[‘alex‘, ‘eric‘, ‘jkjl‘, ‘tenglan‘, ‘alex‘, ‘eric‘, ‘jkjl‘, ‘tenglan‘]
>>> name_list.extend(["a","b","c"])#一个列表扩展另一个列表
>>> name_list
[‘alex‘, ‘eric‘, ‘jkjl‘, ‘tenglan‘, ‘a‘, ‘b‘, ‘c‘]
index 索引
>>> name_list
[‘alex‘, ‘65brother‘, ‘tenglan‘, ‘eric‘, ‘65brother‘]
>>> name_list.index("65brother")#索引
insert 插入
>>> name_list
[‘alex‘, ‘65brother‘, ‘tenglan‘, ‘eric‘, ‘65brother‘]
>>> name_list.insert(2,"66brother")#插入指定位置
>>> name_list
[‘alex‘, ‘65brother‘, ‘66brother‘, ‘tenglan‘, ‘eric‘, ‘65brother‘]
pop 删除或接收
>>> name_list
[‘alex‘, ‘65brother‘, ‘66brother‘, ‘tenglan‘, ‘eric‘, ‘65brother‘]
>>> name_list.pop()#删除最后一个
‘65brother‘
>>> name_list.pop(1)#通过下标删除指定值
‘alex‘
>>> name = name_list.pop(-1)#通过下标删除指定值并作赋值
>>> name
‘eric‘
remove 删除指定一个
>>> name_list
[‘alex‘, ‘65brother‘, ‘66brother‘, ‘tenglan‘, ‘eric‘]
name_list.remove("66brother")#删除指定值
>>> name_list
[‘alex‘, ‘65brother‘, ‘tenglan‘, ‘eric‘]
reverse 反转
>>> name_list
[‘alex‘, ‘65brother‘, ‘tenglan‘, ‘eric‘]
>>> name_list.reverse()#反转
>>> name_list
[‘eric‘, ‘tenglan‘, ‘65brother‘, ‘alex‘]
sort 排序
#python3中是按同类型进行排序
>>> name_list
[‘eric‘, ‘tenglan‘, ‘65brother‘, ‘alex‘]
>>> name_list.sort()#排序
[‘65brother‘, ‘alex‘, ‘eric‘, ‘tenglan‘]
#可通过key来指定排序
>>> name_list
[‘65brother‘, ‘alex‘, 55, ‘eric‘, ‘tenglan‘, 33, 55]
>>> name_list.sort(key=str)#通过key进行排序,详细请用help(list.sort)
>>> name_list
[33, 55, 55, ‘65brother‘, ‘alex‘, ‘eric‘, ‘tenglan‘]
#可以实现反转
>>> name_list.sort(reverse=True,key=str)#reverse默认值是False
>>> name_list
[‘tenglan‘, ‘eric‘, ‘alex‘, ‘65brother‘, 55, 55, 33]
元组 #是只读的
count
>>> name = ("alex","eric",99) >>> name.count(99)#统计1
index
>>> name = ("alex","eric",99) >>> name.index(99)#索引2
条件
条件判断if...else
缩进为4个空格,或者是一个TAB
if...else
>>> a = 10
>>> b = 20
>>> if a < b:
print("YES")
else:
print("NO")
YES
三元运算
>>> a = 10
>>> b = 20
>>> num = a if 1<2 else b#条件为真,值为a
>>> num
>>>num = a if 1>2 else b#条件为假,值为b
>>> num
# 将以下代码转换成三元运算
x, y, z = 6, 5, 4
if x < y:
small = x
if z < small:
small = z
elif y < z:
small = y
else:
small = z
print(small)
#转换后
small = x if ((x < y) and (z < x)) else(y if y < z else z)
print(small)
For循环:
>>> name_list = [‘a‘,‘b‘,‘c‘]
>>> for ele in name_list:
if ele == ‘a‘:
print(‘a‘)
continue
if ele == ‘b‘:
print(‘b‘)
break
a
b
While 循环:
While 条件:#条件为真执行
While True:#切记,容易进入死循环哦!
简单文件操作
打开文件:
f= open("文件路径",“模式”)
打开模式有:
r,只读方式打开
w,打开一个文件只用于写入。如果文件存在则将覆盖原文件,如果该文件不存在,创建文件。
a ,打开一个文件用于追加。如果该文件已存在,指针指向文件结尾,新内容写到文件后。如果文件不存在,创建文件。
w+ , 打开一个文件用于写读,如果文件存在将覆盖文件里的内容。如果文件不存在,创建文件并写人内容。
r+ , 打开一个文件用于读写,可修改文件内容。
文件读取:
f.read() #读取所有内容到内存
f.readlines()#读取所有内容到内存,并按换行符分割成列表。
写文件:
f.write("内容")
f.writeline()
关闭文件:
f.close()
Python学习第一天