区分于java的Python基础

来源:互联网 发布:word 矩阵对齐 编辑:程序博客网 时间:2024/06/05 23:04

基础语法

  • 所有 Python 文件将以 .py 为扩展名
    print "Hello world!"

  • 以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
    以双下划线开头的 __foo 代表类的私有成员
    以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。

  • python 用缩进来写模块

if True:    print "True"else:    print "false"
  • python中单行注释采用 # 开头,python 中多行注释使用三个单引号(”’)或三个双引号(“”“)。

  • 变量在赋值前不需要声明 counter=100


数据类型

Numbers(数字)

  • int(有符号整型)
    long(长整型[也可以代表八进制和十六进制])
    float(浮点型)
    complex(复数)
    • String(字符串)
  • 2种取值顺序:
    从左到右索引默认0开始的,最大范围是字符串长度少1
    从右到左索引默认-1开始的,最大范围是字符串开头

  • str = ‘Hello World!’
    print str # 输出完整字符串
    print str[0] # 输出字符串中的第一个字符
    print str[2:5] # 输出字符串中第三个至第五个之间的字符串
    print str[2:] # 输出从第三个字符开始的字符串
    print str * 2 # 输出字符串两次
    print str + “TEST” # 输出连接的字符串

    输出结果:
Hllollo World!Hello World!Hello World!Hello World!TEST

List(列表)

  • 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。列表用[]标识,是 python 最通用的复合数据类型。
  • 加号 + 是列表连接运算符,星号 * 是重复操作。
    list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
  • -

Tuple(元组)

  • 元组用”()“标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
    tuple=('rubbon',786,2.66,'john snow','785')
    print(tuple[0])

Dictionary(字典)

  • 字典是无序的对象集合。
    两者之间的区别在于:字典当中的元素是通过来存取的,而不是通过偏移存取。字典用”{ }“标识。字典由索引(key)和它对应的值value组成,类似于数据结构中的链表
  • dict ={}
    dict[2]=’this is two’
    tinydict={‘name’:’john’}
    print(dict[2])
    print(tinydict.keys())
    print(tinydict)

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。


运算符

  • ** 幂 - 返回x的y次幂
  • //取整除 - 返回商的整数部分
  • <> != 不等于 - 比较两个对象是否不相等

成员运算符

  • in如果在指定的序列中找到值返回 True,否则返回 False。
  • not in同上

身份运算符

  • isis 是判断两个标识符是不是引用自一个对象
  • is not 同上

函数/方法

Python 定义函数使用 def 关键字,一般格式如下:

语法

def 函数名(参数列表):    函数体
# 计算面积函数def area(width, height):    return width * heightdef print_welcome(name):    print("Welcome", name)print_welcome("Runoob")w = 4h = 5print("width =", w, " height =", h, " area =", area(w, h))
  • 使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值,并且函数参数的使用不需要使用指定顺序
  #可写函数说明def printinfo( name, age ):   "打印任何传入的字符串"   print ("名字: ", name);   print ("年龄: ", age);   return;   #调用printinfo函数printinfo( age=50, name="runoob" );输出结果:名字:  runoob年龄:  50

匿名函数

lambda 函数的语法只包含一个语句,如下:

lambda [arg1 [,arg2,.....argn]]:expression

如下实例:

# 可写函数说明sum = lambda arg1, arg2: arg1 + arg2;# 调用sum函数print ("相加后的值为 : ", sum( 10, 20 ))print ("相加后的值为 : ", sum( 20, 20 ))

global 和 nonlocal关键字

当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了。

num = 1def fun1():    global num  # 需要使用 global 关键字声明    print(num)     num = 123    print(num)fun1()

以上实例输出结果:

123

nonlocal用法:

def outer():    num = 10    def inner():        nonlocal num   # nonlocal关键字声明        num = 100        print(num)    inner()    print(num)outer()

以上实例输出结果:

100100
原创粉丝点击