python 基础笔记

1,去掉了C语言中的大括号,用空格来对齐语句块。(空格一般用2个或4个,但没有限制)

2,要在py文件代码中使用中文,需要在第一行加入下面的代码:

# -*- coding: utf-8 -*-

或者是:

#coding: utf-8

3,执行python文件的命令:>>>python first.py

4,注释用#号。

5,算数运算 1/2 结果是0,  1.0/2 结果是 0.5。两个操作数都是整数,按整除处理。

指数运算符是**,print 2**3,结果是8.

6,变量不需要声明类型。s="Hello”;s=5;s=5.0。同一变量可以被多次赋予不同类型的值。

7,输出语句print

# 直接输出字符串
print "Hello World"
# 直接输出多个字符串
print "Hello World","Python","Study"
# 字符串格式化输出
print "Let‘s talk about %s." % my_name
# 整数格式化输出
print "He‘s %d cm tall." % my_height
# 多个参数的输出
print "He‘s got %s eyes and %s hair." % (my_eyes, my_hair)

%r: String (converts any Python object using repr()).

%s: String (converts any Python object using str()).

8,print语句会自动换行,若不想换行需要在最后加一个逗号(python2.x)。

print "Hello",
print "World"

9,一行代码太长,可以在行末加‘\’反斜杠换行书写。

print end1 + end2 + end3

10,\n代表换行。\是转义符,这个和C#是一致的。例如:\”可以转义双引号。

11,三个双引号中间可以放置多行语句块,并且不需要转义。

print """
There‘s something going on here.
With the three double-quotes.
We‘ll be able to type as much as we like.
Even 4 lines if we want,or 5,or 6.
"""

12,正确显示字符串中的特殊字符,可以使用\进行转义;也可以用三个引号的方式括起来,这就不需要转义了。

13,输入函数:

print "How old are you?",

age = raw_input()

等价于

age = raw_input("How old are you?")

还有一个input函数,要求输入一个python表达式,计算后会得到相应的类型。

而raw_input函数把输入都看作字符串。需要我们自己转型,int(raw_input()),这样就转成整型。

14,格式化字符串是%r,不是\r,我又犯错了。

15,获取Python 命令后面的参数,需要引入sys模块的argv。

from sys import argv

#参数赋值给下面3个变量,第一个是python文件名
pythonfile,firstArg,secondArg=argv

#或者将所有输入赋值给一个数组
allArgument=argv

16,打印文件内容是print fp.read(), 不是print fp,fp仅仅是一个文件句柄。

17,用%r进行格式化,变量为字符串的话,会在字符串两边加上单引号‘ 或双引号“。如果将字符串格式化输出到文件,还是用%s比较好。

18,函数申明用def。

# * 代表参数是不定的
def print_two(*args):
    arg1, arg2 = args
    print "arg1: %r arg2: %r" % (arg1, arg2)

# 一个参数
def print_one(arg1):
    print "arg1: %r" % arg1	

# 没有参数
def print_none():
    print "I got nothing."

print_two("Zed","Shaw")
print_one("First!")
print_none()

19,函数可以返回多个变量,这一点确实是个亮点。

def secret_formula(started):
    jelly_beans = started * 500
    jars = jelly_beans / 1000
    crates = jars / 100
    return jelly_beans, jars, crates

start_point = 10000
beans, jars, crates = secret_formula(start_point)

20,引用模块的某个函数,比如ex25.py的openfile函数,如果引用的是import ex25,则调用的时候ex25.openfile,前面的ex25模块名不能少。如果用from ex25 import openfile 的方式的话,就可以不写ex25前缀。from ex25 import * ,可以导入ex25的所有函数,虽然和import ex25差不多,但是可以避免写前缀。

21,pop函数会删除对应索引的元素,即便是调用函数,数组的传递方式和c#一样,是引用传递,值依然会被删除掉。

22,多条件语句是 if … elif…else…

23,range(0,5) 返回的数组的值是[0,1,2,3,4],不包含5.

24,for 语句 for i in range(0,4):    print i

25,while语句 while i<5: print i   i++

26,exit(0) 正常退出程序。 from sys import exit.

27,in 测试元素在某个集合中。

>>> lst = [1, 2, 3]
>>> 1 in lst
True
>>> myStr = "you are very good"
>>> "o" in myStr
True
>>> "are" in myStr
True
>>> "dd" in myStr
False
>>> 

28,两个正斜杠\\代表向下取整除。3//2.0 == 1.0

29,yield可以实现迭代,然后在for语句中使用,这个和C#是一样的。

# yield
def getOdd(max):
    i = 1
    while i < max:
        if i % 2 == 1:
            yield i
        i += 1 # notation: python hasn‘t ++ operation

for odd in getOdd(10):
    print odd, ",",   

30,with语句,其实和C#的using语句是差不多的。

# with
# file object implements the __enter__ and __exit__ method
# so we can use directly
with open(r"E:\temp\py\test.txt") as f:
    print f.read()

# the follow line will get a closed file, becase
# file is closed in the __exit__ method
print f 

可以自己写个类实现__enter__ 和 __exit__方法,注意__exit__必须带有四个参数。

31,try/catch/else/finally

# try/except/else/finally
def divideNum(a, b):
    try:
        num = a / b
        raise NameError("badName") # raise a error
    except ZeroDivisionError:
        print "Divide by Zero"
    except NameError as e:
        print "message:%s" % e.message
    except:
        print "there is an error"
        raise # re-raise the error
    else:
        print "there is no error. num=%r" % num
    finally:
        print "this is finally block"

print divideNum(10, 2)
print divideNum(10, 0)

32,要在函数中使用模块中定义的变量,需要在函数中对模块中的变量用global关键字

def change():
    global x
    x = 2

x = 50
change()
print "x=%d" % x    

上面的结果是2。注意:如果只是访问x的值,不加global也是可以的,但不建议这么做,这不利于代码阅读。

如果本地变量和模块变量同名了,可以用内置函数globals来访问模块变量

def change(x):
    globals()[‘x‘] = 2

x = 50
change(x)
print "x=%d" % x   

33,exec执行python语句,eval计算python表达式的值,结果是一种类型的变量。

# excute python statement
exec("print ‘abc‘")
exec("a = 1 + 2")
print a
# compute python statement
n = eval("1 + 3")
# out put <type ‘int‘>
print type(n)

34,删除数组的一个元素用del语句。

lst = [1,2,3]
print lst
# delete the last element
del lst[2]
print lst
# delete all the element
del lst
# the follew line will be error
print lst

35,….

时间: 2024-10-19 08:29:06

python 基础笔记的相关文章

Python基础笔记系列十一:标准输入输出、文件读写和指针等操作

本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeREPL插件. Ctrl+shift+p 键入 install packages,再继续键入 SublimeREPL 安装即可然后每次编译运行的操作是:tools->sublimeREPL->python->python-Run current file.点击之后会出现新的页面*REPL*[py

Python基础笔记系列三(1):list列表

本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python中的list列表是一种序列型数据类型,一有序数据集合用逗号间隔用方括号括起来,和字符串一样可以通过索引index和切片来访问某个元素或子列表. 元组相当于一个只读的列表,它的元素不可修改. 字典是一种键值对. list列表可以类比于其它语言(如,C语言)的数组,其起始下标为也为0.1.列表的索引访问 1)通过list_name[index]来访问,每个列表的起

Python基础笔记系列四:工具的安装与配置

本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 一开始是没有打算写工具这篇的,后来发现在某些情况下会遇到一些奇怪的问题,这里记录一下. 环境基础我是用的是windows 10操作系统python版本:python2.7  地址-->https://www.python.org/downloads/ Sublime Text3:地址-->https://www.sublimetext.com/ 安装python的坑:直

Python基础笔记系列十:模块

本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Python代码段.#2.把相关的代码分配到一个模块里能让你的代码个更好用,更易懂.#3.模块也是Python对象,具有随机的名字属性用来绑定或引用.#4.简单来说,模块就是一个保存了Python代码的文件.模块能自定义函数,类和变量.模块里也能包含可执行的代码. 模块引入python提供了很多第三方的

Python基础笔记系列十三:socket网络编程

本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!使用python编写一个简易的服务端程序和客户端程序,启动服务端和客户端(监听的ip和端口一致),服务端对客户端进行指定Ip和端口的监听,实现接收客户端发送的数据以及对客户端发送数据. 使用原生socket主要运用到python的socket模块,直接使用自己的代码进行socket对象的创建.ip和端口的绑定.接收和发送数据等操作.服务端:server1.py 1 #inc

python基础笔记01:基础知识

1.4 数字和表达式 # -*- coding:utf-8 -*- #1.4 #除法 print 1 / 2 print 1.0 / 2 print 10 / 3 print 10.0 / 3.0 print int(1.0/2) print float(1/2) #如果使用"//",那么就算是浮点数,双斜线也会执行整除 print 1 // 2 print 1.0 // 2.0 #取余 print 10 % 3 print 2.75 % 0.5 print int(2.75 % 0.

《python基础笔记2》我想要的风格

如果你是一个PHP程序员,或者,在做一些C语言的小型开发,你有否思考过这样的问题:花括号,应该怎么放? 比如像下面这样的两小段代码: 代码1 <?php main(); function main(){ return true; } ?> 代码2 #include<stdio.h> int main(){ return 0; } 请注意上面代码上的花括号,如果是让你来写,你会怎样放置花括号的位置? 对我而言,无论是使用php,还是c语言,把花括号放在行尾,是我在工作项目中,一直喜欢

Python基础笔记

运算符 / 除法 对整数也是除法,如10/3=3.3333- ;10.5/3=3.5 %取余 10%3=1; 10.5%3=1.5 //取整10//3=3;10.5//3=3.0 空值 None,C#中是Null. 在Python中,通常用全部大写的变量名表示常量,只是一个习惯上的用法,仍可以改变值. 变量:可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量 编码 最早只有127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码表被称为ASCII编

python基础笔记(一)

python解释器执行python程序的过程:python3 C:\test.py 1.启动python解释器(内存中) 2.将C:\test.py 内容从硬盘读入内存(这一步与文本编辑器是一样的) 3.执行读入内存的代码 如果想要永久保存代码,就要用文件的方式如果想要调试代码,就要用交互式的方式 变量定义规则 变量名只能是 字母.数字或下划线的任意组合变量名的第一个字符不能是数字以下关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'co