python_基础知识_1_简介

 

 

 

0 python是动态语言, 变量可以在运行中指向不同类型的数值, 同时python也是面向对象很彻底的语言,python中的函数等任何东西都是作为对象来使用的。

 

   eg:

 

 

1 基本概念

 a) 常量: 

    a.1) 软件运行周期中不变的量

    a.2) 常量无名, 输入1则这个1就是一个常量,输入'a' 则 'a'就是一个常量

    a.3) 不需要修饰符

 

 b) 数

    b.1) 整数

    b.2) 长整数

    b.3) 浮点数

    b.4) 复数

         (复数用来计算向量的旋转要比矩阵.科学计算和物理应该会用得到 )

         复数由实数部分和虚数部分构成,real + imag(J/j后缀)
         实数部分和虚数部分都是浮点数,写法如下:
       

 

 

 数据之间可以进行强制类型转换,写法为:



 

 c) 字符串

 

c.1) 单引号和双引号都能表示字符串

c.2) 转义符 \  和c语言类似   eg: \n表示换行

c.3) 原生字符串 r"字符串" 表示如果出现转义字符但是不想被转义,常用语正则   eg:


 

对于中文,用格式  u"中文"来表示

 

c.4) 常用索引相关操作



 

c.5) 邪恶的eval() 功能类似于js中的eval,将括号内的字符串当成表达式来求值


 

字符串的乘法操作是将此字符串赋值n次

 

 

 

d) 变量 

d.1) 首字符为字母(大小写均可)或_

d.2) 其他部分字符为字母(大小写均可) 数字 下划线

d.3) 区分大小写,name和Name是不同的变量,和linux规则相同

d.4) 变量类型是在运行时才确定的,取名忘记规则,直接全取英文最容易

 

e) 数据类型

e.1) 数值

e.2) 字符串

e.3) 线性容器

     - 字符串也是一种线性容器

     - List

     - tuple(元组)

e.4) Hash容器

   - Dict(字典)

   - set

e.5) None ---> 内存未分配的一种状态

e.6) 逻辑类型(True, False)

 

f) 逻辑行和物理行

f.1) 物理行就是在编辑器中的一行

f.2) 逻辑行是一个业务

f.3) 一个物行中可以写多个逻辑行, 多个物理行也可以表示一个逻辑行

eg:  >>> i=5; print(i)  就是一个物理行中展示两个逻辑一个是赋值业务 一个是打印业务

>>> s = "This is \
         my world"      就是两个物理行展示一个逻辑行的业务,给s赋值,多行连接用反斜杠(\)

 

 

2 运算符与表达式

 

a) 运算符

     注意python的布尔与,或,非写法分别为 and, or,not,

b) 运算符的优先级

c) 数值表达式

d) 逻辑表达式

e) 函数式表达式

f) repr()

 

3 逻辑控制结构

a) if

a = 1
if a==1:
    print 1
elif a ==2:
    print 2
else:
    print 3

 

b) while

 

c) for

 # -*- coding: GBK -* --->设置让python注释支持中文
"""
for x in range(10):
    print  x
    """
"""  
for x in xrange(5,20,3): # 从5开始,每次递增3,直到20为止
    print  x """
  
a = (1,2,3,4,"5")  
for i in a:  
     print  i  

 

d) break

e) continue

 

 

4 函数

 

#coding=gbk
"""
 python 定义函数 和 函数重载
"""
def fun1(arg0):
    print arg0
    
#fun1(1)
#fun1("abc")

# 参数有默认值
def fun2(a=1,b=2,c=3):
    """this is a print function"""
    print 'a=',a
    print 'b=',b
    print 'c=',c

#fun2() # 在实参不赋值的情况下,使用函数预定义的数值 打印输出
#fun2(11,22,33)  # 传递实参   按照实参数据打印
#fun2(b=222,c=333) # 打印结果   a = 1  b = 222 c = 333
#print fun2() # 返回None  函数fun2是一个没有返回值函数


# python可以返回多个数值
def fun3(a,b):
    print 'a=',a
    print 'b=',b
    return a,b

#print fun3(1,2) # 结果 (1, 2)
# 用多个变量来接收返回值
c,d = fun3(1,2)
#print c
#print d

# 用一个变量来接收返回值   结果是一个元组  (1, 2)
e = fun3(1,2)
#print e

# lambda函数
f1 = lambda x,y:x+y
print f1(2,3)

 

 # -*- coding: GBK -*
# 函数的嵌套使用  

def f1(a):
    def f2(b):
        return a+b
    return f2

q = f1(10)
print q #<function f2 at 0x016D83F0>

p = f1(20)
print p

print q(1)
print p(1)

 


5 面向对象编程

 

 # -*- coding: GBK -*
# 类的定义   类的继承   类的封装(成员变量 构造函数 成员函数  私有函数)

class father:
    def __init__(self):  # 定义构造函数  必须要有self关键字,self是固定规则
        self.m = 1       # 类的成员变量
    def add(self):  
        self.p = 3  
        print self.p + self.m 
    
        
class son(father):
     def __init__(self):# 如果要使用父类的参数和方法,那么必须在子类构造函数中,引用父类的构造函数,否则执行 c.sum() c.add()时报错 
         father.__init__(self)
         self.n = 2
     def sum(self):    # 类的成员函数定义,  定义时,必须要有self关键字
        self.__privateMethod()
        print self.m + self.n
       
     def __privateMethod(self):    # 类的私有函数定义,在类的实例化对象中是调用不到的
        print "this is the private method"  
     
     def __zhanyou__(self): # 类的专有函数定义
         print "this is the zhuanyou method"   
c = son()
c.sum()
c.add()
#c.__privateMethod()# 类的私有函数定义,在类的实例化对象中是调用不到的 调用报错==>AttributeError: son instance has no attribute '__privateMethod'
c.__zhanyou__()

 

 

6 异常处理

 

 # -*- coding: GBK -*

class myException():
    def __init__(self):  
        self.m = 1       
    def add(self): 
        print "begin exception"
        try:
            a = 1/0
        except Exception,e:
            print e.message 
            
a = myException()
a.add() 
"""
结果:
begin exception
integer division or modulo by zero
"""

 

 

 

7  输入、输出、文件和目录操作

 

  待续  待续 待续

 

 

 # -*- coding: GBK -*
# os.walk递归遍历所有当前路径的文件,递归的遍历出所有子文件夹中的文件  E:\aptana\version.txt    

"""
打印输出文件内内容
f = open(r"E:\aptana\version.txt","r")
print f.read()
f.close()
"""
import os

for root,dirs,files in os.walk(r'd:\news'):
    for file in files:
        print os.path.join(root,file)

 

 

附:  用惯了java在用python,真不习惯啊,

1 Python定义代码块去掉了java的大括号写法,用:和同等距离缩进方式来代表这是属于这个函数块的内容,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值