Python 基础知识
一、简介
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
脚本运行:python test.py a b c,其中a、b、c为输入参数。
二、基本语法
2.1、print
print用作py脚本打印输出注释和结果,为了方便输出效果,用户还可以对其字体进行设置,具体格式如下:
1、输出字符串:
print("hello world");
2、输出变量结果:
print("value: ", var); 其中var可以为数字或者字符类型
3、输出字体颜色配置
开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m
print("\033[33m==========\033[0m"); 打印输出====为黄色,配置表如下:
-------------------------------------------
-------------------------------------------
字体色 | 背景色 | 颜色描述
-------------------------------------------
30 | 40 | 黑色
31 | 41 | 红色
32 | 42 | 绿色
33 | 43 | 黃色
34 | 44 | 蓝色
35 | 45 | 紫红色
36 | 46 | 青蓝色
37 | 47 | 白色
------------------------------------------
2.2 变量类型
2.2.1、Numbers(数字)
数字数据类型用于存储数值,当你指定一个值时,Number 对象就会被创建:var = 5
2.2.2、String(字符串)
字符串或串(String)是由数字、字母、下划线组成的一串字符,s="abcd"。
python的字串列表有2种取值顺序:
1、从左到右索引默认0开始的,最大范围是字符串长度少1;
2、从右到左索引默认-1开始的,最大范围是字符串开头。
即s[0] = a、s[-1] = d、s[1:2] = b、s[1:3] = bc、s[1:] = bcd
2.2.3、List(列表)
List(列表) 是 Python 中使用最频繁的数据类型,由字符,数字,字符串构成,符号为[ ] 。
其中:list = [ 'hello', 123 , 1.2, 'word' ],即list[0] = ‘hello’,list[1:3] = [123,1.2],list[-1] = ‘word’,list元素个数为:len(list)。
2.2.4、Tuple(元组)
元组是另一个数据类型,类似于 List(列表)。元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
tuple = ('hello', 123 , 1.2, 'word'),只能赋值一次。
2.2.5、Dictionary(字典)
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two" tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}
print dict['one'] # 输出键为'one' 的值
print dict[2] # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
结果为:
This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'runoob'}
['dept', 'code', 'name']
['sales', 6734, 'runoob']
2.2.6、变量类型转换
函数 描述
int(x [,base]):将x转换为一个整数
long(x [,base] ):将x转换为一个长整数
float(x):将x转换到一个浮点数
complex(real [,imag]):创建一个复数
str(x):将对象 x 转换为字符串
repr(x):将对象 x 转换为表达式字符串
eval(str):用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s):将序列 s 转换为一个元组
list(s):将序列 s 转换为一个列表
set(s):转换为可变集合
dict(d):创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s):转换为不可变集合
chr(x):将一个整数转换为一个字符
unichr(x):将一个整数转换为Unicode字符
ord(x):将一个字符转换为它的整数值
hex(x):将一个整数转换为一个十六进制字符串
oct(x):将一个整数转换为一个八进制字符串
2.3、运算符
2.3.1、算数运算符
运算符 描述 实例
+ 加 - 两个对象相加 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//2
-5
2.3.2、比较运算符
运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true.
<> 不等于 - 比较两个对象是否不相等。python3 已废弃。 (a <> b) 返回 true。这个运算符类似 != 。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 (a < b) 返回 true。
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true。
2.3.3、赋值运算符
运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
2.3.4、位运算符
运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a | b) 输出结果 61 ,二进制解释: 0011 1101
^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111
2.3.5、逻辑运算符
运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False
2.4、控制语句
2.4.1、条件语句
1、if语句
if 判断条件 :
print ("hello word")
else :
print("welcome")
2、elif语句
if 判断条件1 :
print ("hello word")
elif 判断条件2 :
print ("welcome")
else :
print ("bye bye")
2.4.2、循环语句
2.4.2.1 for循环
str_len = 9
for i in range(str_en) :
print("num: ",i) #输出num 0~8
2.4.2.2 while循环
num = 0
while (num < 9):
print("num: ", num) #输出num 0~8
num = num + 1
# continue 和 break 用法
i = 1
while i < 10:
i += 1
if i%2 > 0: # 非双数时跳过输出
continue print i # 输出双数2、4、6、8、10
i = 1
while 1: # 循环条件为1必定成立
print i # 输出1~10
i += 1
if i > 10: # 当i大于10时跳出循环
break
2.5、函数
2.5.1、常用系统函数
2.5.1.1、pass函数
空函数:pass,执行该函数输出结果为空;
2.5.1.2、split函数
划分函数:split("a"),结果:将字符串按“a”字符划分n段,并保存为列表。
例如:str="bacadfarf", str.split("a")结果:["b", "c", "df", "rf"]
2.5.1.3、replace函数
替换函数:repace("a", "A"), 将字符串中“a” 替换我“A”
例如:str="bacadfarf",str.repace("a", "A")结果:"bAcAdfArf"
2.5.1.4、del函数
删除函数:del str_list[index],index为指定列表中指定元素的位置,即删除str_list列表中第index个元素,列表长度-1.
例如:str_list = ["a", 1, "b", "c"],del str_list[1],输出str_list = ["a", "b", "c"]
2.5.1.5、append函数
加入元素函数:str_list.append(“d”),即向列表最后一个元素后插入一个新元素,列表长度+1.
例如:str_list = ["a", 1, "b", "c"],str_list.append(“d”),输出str_list = ["a", 1, "b", "c", "d"]
2.5.1.6、pop函数
提取元素函数:str_list.pop(),即提取str_list列表第一个元素,列表长度-1.
例如:str_list = ["a", 1, "b", "c"],str_list.pop(),输出str_list = [1, "b", "c", "d"]
2.5.1.7、upper/lower函数
字母大小写转换函数:str.upper(),将str字符小写转换成大写;str.lower(),将str字符大写转换成小写。
例如:str=“aBcD”,str.upper()输出ABCD,str.lower()输出abcd。
2.5.1.8、sort函数
排序函数:str_list.sort(),将str_list的元素按ascii码表值进行从小大小排序。
例如:str_list=["b", "A", "B", "a"],str_list.sort()输出str_list=["A", "B", "a", "b"]。
2.5.1.9、getcwd函数
获取path函数,该函数在os系统函数下,故先import os,然后path=os.getcwd(),即可得到work path。
2.5.2、自定义函数
2.5.2.1、def函数
def function_name( parameters ): #"函数_文档字符串"
function_suite
return [expression]
2.5.2.2、自动对齐函数
def align_word(in_name,size) :
in_name_str = ''
in_name_len = 0
in_name_str = str(in_name)
in_name_len = len(in_name)
if in_name_len < size :
for i in range(size-in_name_len) :
in_name_str += " "
return in_name_str
例如:str =align_word("abc",5),结果:str=“abc ”,自动向后增加两个空格。
三、总结
python脚本适合处理文本文件,可以很方便的修改文件内容,按关键字统计等功能。python基本语法与c语言类似,方便大部分程序员的二次开发,问题定位也相对简单。通过此次学习得知,如果需要快速提升代码能力,首先大概了解基本语法,然后强迫自己动手编写一个自动化脚本,以边写代码边学习的状态完成脚本编写,代码能力自然提升,自我自信程度有很大提高。

浙公网安备 33010602011771号