Python2基础

本文详细介绍了Python环境的搭建过程,包括Python编译器的下载,以及深入讲解了Python的基础语法,如标识符规则、缩进结构、多行语句、注释、变量类型(包括数字、字符串、列表、元组和字典)、运算符、条件语句、循环语句、数学函数、字符串操作、列表和元组功能、字典操作、函数定义与调用、模块导入和作用域概念。
摘要由CSDN通过智能技术生成

一.环境搭建

二.基础语法

1.Python标识符

  • 由字母,数字,下滑线组成
  • 不能以数字开头
  • 区分大小写
  • 以下划线开头的标识符不能直接访问类属性,需要通过类提供的接口进行访问,不能用from xxx import *导入
  • 以双下划线开头的标识符代表类的私有成员
  • 以双下划线开头和结尾的标识符代表特殊方法专用标识

2.行和缩进

Python的代码块不使用{}来控制类,函数以及逻辑判断,而用缩进来写模块,缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量

if True:
    print ("true")
else:
    print("false")

3.多行语句

一般以新行作为语句的结束符

但可以用斜杠将一行的语句分为多行显示

total = item_one + \
        item_two + \
        item_three

语句中含[]{}()就不需要时需要多行连接符

days = ['monday','tuesday',
       'thursday']

4.注释

# 单行注释
'''
多行注释
'''
""""
多行注释
""""

5.同一行显示多条语句

import sys; x = 'runoob'; sys.stdout.write(x+'\n')

6.print输出

print默认输出是换行的,如果需要实现不换行需要在变量末尾加上逗号

x = "a"; y = "b"
#换行输出
print x
print y
#不换行输出
print x,
print y,

三.变量类型

1.变量赋值

不需要类型声明

#赋值整型变量
counter = 100
#浮点型
miles = 1000.0
# 字符串
name = "John"

2.标准数据类型

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

3.数字

不可改变的数据类型

var1  = 1
var2  = 10

可以删除一些对象的引用

del var1[,var2....]

可以删除一些当个对象或多个对象的引用

del var
del var1,var2

四种数字类型

  • int(有符号整型)
  • long(长整型,也可以代表八进制和十六进制)
  • float(浮点型)
  • complex(复数)

4.字符串

字符串由数字,字母,下划线组成的一串字符

字符串列表有2种取值顺序:

  • 从左到右索引默认0开始的
  • 从右到左索引默认-1开始的

截取字符串[头下标:尾下标],但不包含尾下表的字符

s = 'abcdef'
s[1:5]   #bcde
s[1:]    #bcdef
s*2      #abcdef
s+'TEST' #abcdefTEST

5.列表

列表中值的切割[头下标:尾下标]

取值顺序与字符串相同

t = ['a','b','c','d','e','f']
d = ['a']
t[1:5]   #['b', 'c', 'd', 'e']
t[1:]    #['b', 'c', 'd', 'e']
t*2      #['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
t+d      #['a', 'b', 'c', 'd', 'e', 'a']

6.元组

类似于List列表

()标识,元组不能二次赋值,相当于只读列表

a = (1, 2, 3, 'a', 5)
b = (7, '8')
a[1:2]   #(2,)
a[1:]    #(2, 3, 'a', 5)
a * 2    #(1, 2, 3, 'a', 5, 1, 2, 3, 'a', 5)
a+b      # (1, 2, 3, 'a', 5, 7, '8')

7.字典

列表是有序的对象集合

字典是无序的对象集合

字典由索引key和它对应的值value组成

dict = {'name': 'runoob','code':6734, 'dept': 'sales'}
dict['name']          # 输出键为'one' 的值
dict['runoob']        # 输出键为 2 的值
dict                  # 输出完整的字典
dict.keys()           # 输出所有键
dict.values()         # 输出所有值

四.运算符

1.算术运算符

+  -  *  /  %  
** # 幂  返回x的y次幂
2**4  # 16
// # 取整除   返回商的整数部分(向下取整)
9//2  # 4

2.比较运算符

===  >  <  >=   <=
<>  #不等于 类似!=  python3已废弃

3.赋值运算符

=   +=  -=  *=   /=   %=   **=   //=

4.位运算符

&   |   ^   ~   <<   >>

5.逻辑运算符

and    or    not

6.成员运算符

in       #在指定序列中找到值返回true,否则返回false
not in   #在指定序列中找不到值返回true,否则返回false
a = 1;
b = [1,2,4,5]
print(a in b)       #true
print(a not in b)   #false

7.身份运算符

is 用于判断两个变量引用对象是否为同一个(同一块内存空间)

== 用于判断引用变量的值是否相等

is        #判断两个标识符是不是引用自一个对象
is not    #判断两个标识符是不是引用自不同对象
a = [1,2,4]
b = a
print(b is a)   #true
b = a[:]
print(b is a)   #false

五.条件语句

if 判断条件:
   执行语句.....
else:
   执行语句.....
   
   
   
if 判断条件1:
   执行语句1.....
elif 判断条件2:
   执行语句2.....
elif 判断条件3:
   执行语句3.....
else:
    执行语句4.....

六.循环语句

  • while循环
  • for循环
  • 嵌套循环

1.循环控制语句

  • break语句
  • continue语句
  • pass语句

2.while循环语句

while 判断条件(condition):
    执行语句(statements)……

3.for循环语句

可以遍历任何序列的项目,如一个列表或者一个字符串

a = ['abcd', 'efg', 'o']
for index in a:
    print(index)
    if index == 'abcd':
        break
else:
    print("break执行后else模块不执行")
    
    # abcd

七.Number

1.类型转换

int(x,y)         #将x转换为一个整数  y为进制默认10
long(x,y)        #将x转换为一个长整数  y为进制默认10
float(x )               #将x转换到一个浮点数  
complex(real [,imag ])  #创建一个复数  
str(x )                 #将对象 x 转换为字符串  
repr(x )                #将对象 x 转换为表达式字符串  
eval(str )              #用来计算在字符串中的有效Python表达式,并返回一个对象  
tuple(s )               #将序列 s 转换为一个元组  
list(s )                #将序列 s 转换为一个列表  
chr(x )                 #将一个整数转换为一个字符  
unichr(x )              #将一个整数转换为Unicode字符  
ord(x )                 #将一个字符转换为它的整数值  
hex(x )                 #将一个整数转换为一个十六进制字符串  
oct(x )                 #将一个整数转换为一个八进制字符串  

2.math模块,cmath模块

math模块包含属性运算函数

cmath模块包含复数运算的函数

import math   #导入
dir(math)     #查询

3.数学函数

函数返回值 ( 描述 )
abs(x)返回数字的绝对值,如abs(-10) 返回 10
ceil(x)返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y)如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x)返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x)以浮点数形式返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x)返回数字的下舍整数,如math.floor(4.9)返回 4
log(x)如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,…)返回给定参数的最大值,参数可以为序列。
min(x1, x2,…)返回给定参数的最小值,参数可以为序列。
modf(x)返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y)x**y 运算后的值。
round(x [,n])返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x)返回数字x的平方根

4.随机数函数

函数描述
choice(seq)从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step])从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
random()随机生成下一个实数,它在[0,1)范围内。
seed([x])改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst)将序列的所有元素随机排序
uniform(x, y)随机生成下一个实数,它在[x,y]范围内。

5.三角函数

函数描述
acos(x)返回x的反余弦弧度值。
asin(x)返回x的反正弦弧度值。
atan(x)返回x的反正切弧度值。
atan2(y, x)返回给定的 X 及 Y 坐标值的反正切值。
cos(x)返回x的弧度的余弦值。
hypot(x, y)返回欧几里德范数 sqrt(xx + yy)。
sin(x)返回的x弧度的正弦值。
tan(x)返回x弧度的正切值。
degrees(x)将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x)将角度转换为弧度

6.数学常量

常量描述
pi数学常量 pi(圆周率,一般以π来表示)
e数学常量 e,e即自然常数(自然常数)。

八.字符串

1.转义字符

转义字符描述
(在行尾时)续行符
\反斜杠符号
单引号
"双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,y 代表 0~7 的字符,例如:\012 代表换行。
\xyy十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出

字符串运算符

操作符描述实例
+字符串连接>>>a + b ‘HelloPython’
*重复输出字符串>>>a * 2 ‘HelloHello’
[]通过索引获取字符串中字符>>>a[1] ‘e’
[ : ]截取字符串中的一部分>>>a[1:4] ‘ell’
in成员运算符 - 如果字符串中包含给定的字符返回 True>>>“H” in a True
not in成员运算符 - 如果字符串中不包含给定的字符返回 True>>>“M” not in a True
r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。>>>print r’\n’ \n >>> print R’\n’ \n
%格式字符串请看下一章节

九.列表

1.列表函数&方法

序号函数
1cmp(list1, list2) 比较两个列表的元素
2len(list) 列表元素个数
3max(list) 返回列表元素最大值
4min(list) 返回列表元素最小值
5list(seq) 将元组转换为列表

Python包含以下方法:

序号方法
1list.append(obj) 在列表末尾添加新的对象
2list.count(obj) 统计某个元素在列表中出现的次数
3list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj) 将对象插入列表
6[list.pop(index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj) 移除列表中某个值的第一个匹配项
8list.reverse() 反向列表中元素
9list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序

十.元组

1.元组内置函数

元组不可修改

Python元组包含了以下内置函数

序号方法及描述
1cmp(tuple1, tuple2) 比较两个元组元素。
2len(tuple) 计算元组元素个数。
3max(tuple) 返回元组中元素最大值。
4min(tuple) 返回元组中元素最小值。
5tuple(seq) 将列表转换为元组。

十一.字典

1.字典内置函数&方法

Python字典包含了以下内置函数:

序号函数及描述
1cmp(dict1, dict2) 比较两个字典元素。
2len(dict) 计算字典元素个数,即键的总数。
3str(dict) 输出字典可打印的字符串表示。
4type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

序号函数及描述
1dict.clear() 删除字典内所有元素
2dict.copy() 返回一个字典的浅复制
3[dict.fromkeys(seq, val]) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
4dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
5dict.has_key(key) 如果键在字典dict里返回true,否则返回false。Python3 不支持。
6dict.items() 以列表返回可遍历的(键, 值) 元组数组
7dict.keys() 以列表返回一个字典所有的键
8dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9dict.update(dict2) 把字典dict2的键/值对更新到dict里
10dict.values() 以列表返回字典中的所有值
11[pop(key,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12popitem() 返回并删除字典中的最后一对键和值。

十二.函数

1.定义一个函数

  • def关键字开头,后接函数标识符名称和圆括号()
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明
  • 函数内容以冒号起始,并且缩进
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None

2.参数

  • 必备参数
  • 关键字擦书
  • 默认参数
  • 不定长参数
# age默认35
def printinfo( name, age = 35 ):
   "打印任何传入的字符串"
   print "Name: ", name
   print "Age ", age
   return

# vartuple储存所有未命名的变量参数
def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print "输出: "
   print arg1
   for var in vartuple:
      print var
   return

3.匿名函数

使用lambda来创建匿名函数

  • lambda只是一个表达式
  • 封装逻辑有限
  • 拥有自己的命名空间,只访问自有参数列表
  • 目的是调用小函数时不占用栈内存从而增加运行效率
sum = lambda arg1,arg2 : arg1 + arg2

4.return语句

不带参数值的return语句返回None

def sum (arg1,arg2):
   total = arg1 + arg2
   return total

5.变量作用域

定义在函数内部的变量拥有一个局部作用域

定义在函数外的拥有全局作用域

十三.模块

# support.py模块
def print_func(par):
    print "Hello",par
    return

1.import语句

# 导入模块   只会导入一次
import support
# 使用
support.print_func("hh")

2.form…import语句

# 只导入模块中一个方法
from support import print_func

3.from…import*语句

# 导入模块中所有公开成员到当前命名空间
from math import *

4.dir()函数

# 导入 返回的列表容纳了在一个模块里定义的所有模块,变量和函数
import math
content = dir(math)

5.globals()和locals()函数

如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名

如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字

两个函数的返回类型都是字典。所以名字们能用 keys() 函数摘取

6.reload()函数

当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次

后记

个人笔记产出,如有不足之处还望斧正,详情见官方文档

  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月落乌江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值