python基础教程及常用函数

  • python要求严格缩进,否则会报错(尤其是循环判断语句)
  • #!usr/bin/python :linux/unix适用,用在脚本语言第一行,指定本脚本用什么编译器编译

#!usr/bin/env python :为防止用户没有将python安装在usr/bin里,系统会先到env设置里找到python安装路径,再在该路径下调用解释器

有了这句之后再加上权限就可以直接./运行程序

  • pyhon中单引号、双引号作用相同,都可表示字符串,(可理解为python中没有字符的说法,除转义字符等)

他们的区别在于如果字符串中有‘  ’则用“ ”表示,反之,字符串中有“ ”则用‘ ’表示;否则得用转义字符

三引号作用时可以换行赋值

  • .pkl文件是python用来保存文件的

python 打开文本文件用'r',打开二进制文件用'rb'

# -*- coding: UTF8 -*-

# cPickle是python2系列用的,3系列已经不用了,直接用pickle就好了
import pickle

# 重点是rb和r的区别,rb是打开2进制文件,文本文件用r
f = open('itchat.pkl','rb')
data = pickle.load(f)
print(data)
  • Python 模块

Python文件,包含python对象定义和语句。import导入;from 模块 import...从模块导入一部分

  • r'  ':r加在字符串之前让改字符串里的转义字符失去转义作用,而\r为转义字符,表示将光标位置回退到本行开
  • .T:对矩阵转置
a
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
a.T
array([[1, 4, 7],
       [2, 5, 8],
       [3, 6, 9]])
  • python中与或非:and、or、not 

  • **:幂运算符

  >>> 2**3
8
  • /:除,而//整除

  • python3中int为动态长度

理论上是任意长度,只要内存足够大.因为python3处理整数是用结构:

struct _longobject {
    PyObject_VAR_HEAD
    digit ob_digit[1];
};

假设要存123456789,(假设ob_digit数组中每个元素只能存3位数)则ob_digit[0]=789,ob_digit[1]=456,ob_digit[2]=123低位存于低索引下。所以可以直接进行大整数运算如:12345**10000,不过时间还是很长。处理大整数幂模就简单了很多,都不用使用费马小定理,直接用pow函数.计算2**n%(1e9+7):

print( pow(2,int(input()),10**9+7) )
  •  Python 列表[List]

list1 = ['physics', 'a', 2019]

 python中最基本的数据结构,数据项可以有不同的数据类型。可以索引(list1[0])、加(list1.append(2))、截取(list1[-2]、list1[1:])、删除(del list1[0])

  • Python 元组(tuple)

tup = ('physics', 'a', 2019)

用()表示,与列表类似,只是不能修改。 所以删除del tup为删除整个元组,而不能删除某个元素。

任意无符号的对象,以逗号隔开,默认为元组,如下实例:

#!/usr/bin/python
 
print ('abc', -4.24e93, 18+6.6j, 'xyz')
x, y = 1, 2
print ("Value of x , y : ", x,y)

元组中只包含一个元素时,需要在元素后面添加逗号

tup1 = (50,)
  • Python 字典(Dictionary) {键值对}

dict2 = { 'abc': 123 , 98.6: 37 }

可变容器模型;可存储任意类型;由键值对构成,由键访问、修改、删除值;

键必须不可变,所以可以用数字,字符串或元组充当,列表不行。值无限制。同一键不能出现两次,否则只算后一次。

  • Python标准输入输出

#raw_input()读取一行,返回一个字符串(去掉结尾换行符)
str = raw_input("请输入:")  

#input()与raw_input()功能相似,但它可以接受表达式,并将值返回
str2 = input("请输入:")

#输出
print ("你输入的内容是: ", str)
  •  文件操作

#打开文件file object = open(file_name [, access_mode][, buffering])
fo = open("foo.txt", "w")

## 关闭打开的文件
fo.close()

#File对象的属性
print "文件名: ", fo.name
print "是否已关闭 : ", fo.closed
print "访问模式 : ", fo.mode
print "末尾是否强制加空格 : ", fo.softspace

#write()可将任何字符串写入一个打开的文件,末尾不加\n
fo.write( "write!\n")

#read([count])方法从一个打开的文件中读取一个字符串
str = fo.read(10)

#创建不存在的文件
fnew = open("a.txt",'w+')
#读取一行
fstr = fnew.readline()
fcontxt = fnew.readlines()#返回一个队列
#创建目录
#import os

if not os.path.exsist("./data"):
    os.mkdir("./data"()

# 得到文件夹下的所有文件名称
filepath = "./data"  # 添加路径
filename = os.listdir(filepath)  # 得到文件夹下的所有文件名称

 

python中的“无穷”

Max=float('inf')
Min=float('-inf')=-float('inf')
  • type()获取变量类型

>>> a=5
>>> type(a)
<class 'int'>

>>> a=5
>>> id(a)
1930390400 

  • id()获取变量地址

  • range()函数语法

    range(start, stop, step)

    参数说明:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

实例

>>>range(10) # 从 0 开始到 10 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> range(1, 11) # 从 1 开始到 11 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
>>> range(0, 30, 5) # 步长为 5 
[0, 5, 10, 15, 20, 25] 
>>> range(0, 10, 3) # 步长为 3 
[0, 3, 6, 9] 
>>> range(0, -10, -1) # 负数
 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] 
>>> range(0) 
[] 
>>> range(1, 0) 
[]

以下是 range 在 for 中的使用,循环出runoob 的每个字母:

>>>x = 'runoob' 
>>> for i in range(len(x)) : ... print(x[i]) ... r u n o o b 
>>>
  • arange()函数语法

与range()函数用法类似

不同点:

1、arange()需要引入:

import numpy as np

2、arange()的返回时array对象,而range返回的是list类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值