python基础知识总结
2017-09-27 本文已影响0人
一个认真学代码的pm
基础语法
- 编码问题:文件开头加
# -*- coding: utf-8 -*-
- 变量赋值无需声明类型
- 语句末尾无需" ; "等表示结尾
- 以4个空格的缩进控制模块
- 函数及逻辑判断后要加冒号
执行.py
文件的方式
-
cd
到文件所在的目录 -
python filename.py
(如果有问题的话考虑chmod 777 filename.py
)
模块
hello.py
def say_hello(par):
print 'Hello, ', par
return
main.py
(同一目录下)
import hello
hello.say_hello('Jack')
或
from selenium import webdriver
I/O
print 'Hello, %s! * %d' % ('python', 3)
#涉及到中文的输出要在引号前加上字母u,强制进行unicode编码
str1 = raw_input('raw_input输入')
print u'raw_input输出', str1
输出结果
Hello, python! * 3
raw_input输入QWERTY
raw_input输出 QWERTY
数据类型
五个标准的数据类型:
Numbers(数字),String(字符串),List(列表),Tuple(元组),Dictionary(字典)
赋值
age = 23 #整型
height = 1.85 #浮点
name = 'jackie' #字符串
a, b, c = 10, 20, 'jjqqkk' #为多个变量赋值
list1 = ['cat', 'dog', 100, 200] #列表
tup1 = ('apple', 'iphone', 2016, 2017) #元组
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
字符串操作
str = 'Welcome to PYTHON'
print str #完整字符串 'Welcome to PYTHON'
print str[0] #第一个字符 'W'
print str[1:4] #第2个到第4个之间的字符串(不包括冒号后面那一位) 'elc'
print str[5:] #从第6个字符开始的字符串 'me to PYTHON'
print str * 3 #输出3次字符串 'Welcome to PYTHONWelcome to PYTHONWelcome to PYTHON'
print str + ' lol' #字符串拼接 'Welcome to PYTHON lol'
运算符
以下假设变量: a=10,b=20
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | a + b 输出结果 30 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x除以y | b / a 输出结果 2 |
% | 取模 - 返回除法的余数 | b % a 输出结果 0 |
** | 幂 - 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 取整除 - 返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
Python2.x的版本中,整数除整数,得到的结果都是整数。要想结果是小数,需要除数和被除数中至少有一个浮点数。
列表
list1 = ['cat', 'dog', 100, 200]
#输出指定项
print list1[0]
print list1[1:3]
#更list1新列表
list1[2] = 1100
list1.append(300)
for x in list1:
print x
#删除元素
del list1[2]
print list1
print len(list1)
#拼接列表
list2 = ['qqq', 111]
list1 += list2
print list1
输出结果
cat
['dog', 100]
cat
dog
1100
200
300
['cat', 'dog', 200, 300]
4
['cat', 'dog', 200, 300, 'qqq', 111]
元组
tup1 = () #创建空元组
tup2 = (123,) #创建只有一个元素的元组
del tup1 #删除元组
字典
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
#更新字典
dict['Age'] = 8;
dict['School'] = "DPS School";
print dict
#删除键值对
del dict['Age']
print dict
#清除字典
dict.clear()
print dict
输出结果
{'School': 'DPS School', 'Age': 8, 'Name': 'Zara', 'Class': 'First'}
['School', 'Name', 'Class'] ['DPS School', 'Zara', 'First']
{}
语句
条件语句
num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print 'hello'
else:
print 'undefine'
# 输出结果: undefine
while循环
num1 = 0
while num1 < 10:
num1 += 1
if num1 %2 > 0:
continue
print num1
print '---------'
num2 = 0
while 1:
print num2
num2 += 1
if num2 > 5:
break
输出结果
2
4
6
8
10
---------
0
1
2
3
4
5
for循环
animals = ['cat', 'dog', 'monkey']
#函数len()返回列表的长度,也就是列表中元素的个数,range()用于返回一个序列的数。
for index in range(len(animals)):
print u'动物有:', animals[index]
输出结果
动物有: cat
动物有: dog
动物有: monkey
其他
随机数
import random
randomNumber = int(random.uniform(1,10)) #取1-10之间的随机整数
日期和时间
import time
import calendar
print time.time()
print time.localtime(time.time())
print time.asctime(time.localtime(time.time()))
print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print '----------------'
print calendar.month(2017, 7)
输出结果
1506503049.9
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=27, tm_hour=17, tm_min=4, tm_sec=9, tm_wday=2, tm_yday=270, tm_isdst=0)
Wed Sep 27 17:04:09 2017
2017-09-27 17:04:09
----------------
July 2017
Mo Tu We Th Fr Sa Su
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
异常处理
while 1:
try:
num1 = raw_input('被除数:')
num2 = raw_input('除数:')
result = int(num1) / int(num2)
except BaseException:
print '异常' + '\n'
else:
print '结果:', result, '\n'
输出结果
被除数:3
除数:2
结果: 1
被除数:1
除数:
异常
文件操作
写入
fileObj = open('text1.txt', 'wb') #若文件已存在,则覆盖;若不存在,则新建
fileObj.write('content content.\n')
fileObj.close()
读取
fileObj = open('text1.txt', 'r+') #读写模式
str = fileObj.read()
print str
fileObj.close()
os文件方法
import os
os.rename('test1.txt', 'test2.txt') #重命名
os.remove('test2.txt') #删除文件