Python2基础

发布于:2024-03-25 ⋅ 阅读:(89) ⋅ 点赞:(0)

一.环境搭建

二.基础语法

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.列表函数&方法

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

Python包含以下方法:

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

十.元组

1.元组内置函数

元组不可修改

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

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

十一.字典

1.字典内置函数&方法

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

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

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

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

十二.函数

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()函数

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

后记

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


网站公告

今日签到

点亮在社区的每一天
去签到