Python入门——初级

Python入门

一,Python初级教程

1.1变量

python中的变量赋值不需要类型声明。

多个变量赋值:

a = b = c = 1  
a, b, c = 1, 2, “hh”

1.2 注释

​ 單行註釋: #

​ 多行註釋: ‘’’ ‘’’

1.3 五种标准数据类型

1. Numbers(数字)

数字数据类型用于存储数值,是不可改变的数据类型,改变数字类型会分配一个新的对象。当指定一个值[var1=1]时,Numbers就会被创建。

支持四种不同的数据类型:

(1) int :有符号整形

(2) long:长整型 | 八进制或十六进制(后面加上l/L)

(3) float:浮点型

(4) complex:复数

2. String(字符串)

字符列表有两种取值方式:

(1) 从左到右索引默认0开始的,最大范围是字符串长度少1

(2) 从右到左索引默认-1开始的,最大范围是字符串开头

从父字符串获取某个字符:

​ 父字符串[下标]

从父字符串获取一段子字符串:

​ 父字符串[头下标:尾下标](不包括尾下标的字符)

​ 父字符串[头下标:尾下标:截取的步长]

+ :字符串连接运算符

​ “hh “ + “test” >> hh test

* :重复操作

“hh “ * 2 >>hh hh

3. List(列表)

可以完成大多数集合类的数据结构实现,支持字符,数字,字符串甚至可以包含列表(即嵌套)

切割列表:

列表[头下标:尾下标]

下标可以为空,表示取到头或尾。

4. Tuple(元组)

元组是另一种数据类型,类似于List。

元组用()标识,内部元素用逗号隔开。

元组不能二次赋值,相当于只读列表。

5. Dictionary(字典)

字典是除列表以外python最灵活到内置数据结构类型。列表是有序到对象集合,字典是无序到对象集合。

两者区别:字典中的元素是通过键来存取的,而不是通过偏移存取。

字典用{}标识,由索引key和它对应的值value组成。
在这里插入图片描述
数据类型转换

函数描述
int(x)将x转换为一个整数
long(x)将x转换为一个长整数
float(x)将x转换为一个浮点数
complex(real[, imag])创建一个复数
str(x)将对象x转化为字符串
tuple(s)将序列s转化为一个元组
list(s)将序列s转化为一个列表
chr(x)将一个整数转换为一个字符
frozenset(s)转换为不可变集合
unichr(x)将一个整数转换为Unicode字符
ord(x)将一个字符转换为它的整数值
……

1.4 运算符

算术运算符

运算符描述实例
两个对象相加
一个数减去另一个数
两个数相乘或者返回一个被重复若干次的字符串
除以
取模,返回除数的余数
**幂,返回x的y次幂3**4 = 333*3=81
//取整除,返回商的整数部分(向下取整)9//2=4-9//2=-5

比较运算符&赋值运算符&位运算符

与java类似,不做说明

逻辑运算符

运算符逻辑表达式描述
andX and y“与”,如果x为false,返回false,否则返回y的计算值
orX not y“或”,如果x非0,返回x的值,否则返回y的计算值
notnot x“非”,如果x为true,返回false;如果x为false,返回true

成员运算符

运算符描述
in如果在指定的序列中找到值返回true,否则返回false
not in如果在指定到序列中没有找到值返回true,否则返回false

身份运算符

运算符描述实例
isIs是判断两个标识符是不是引用同一个对象X is y类似id(x)==id(y)
is notIs not是判断两个标识符是不是引用不同到对象X is not y类似id(x)!=id(y)

1.5 流程语句

条件语句

if condition1:

#	执行语句

elif condition2:

#	执行语句

else

#	执行语句

注意:python到条件语句没有{},所以当执行内容为多行时,以缩进来区分表示同一区域。

​ Python没有switch!!!

循环语句

1. while

(1) 第一种

while condition:

#		执行语句

(2) 第二种(使用else语句)

while condition:

#	执行语句

else#	执行语句

在condition为false时执行else语句块。

无限循环用Ctr+C来中断

2.for

(1)第一种

for iterating_var in sequence:

#		执行语句

(2)通过序列索引迭代

for index in range(len(seq)):

#		print seq[index]

(3)第三种(使用else语句)

for var in seq:

#		执行语句

else#		执行语句

嵌套语句&continue&break

与java类似,不做说明

1.6 日期与时间

在使用日期时间功能之前,要先导入time模块

import time

time.time():输出时间戳

time.localtime(时间戳):将时间戳转换为时间元组

time.asctime(时间元组):格式化时间

time.strftime(自定义格式):自定义时间格式

在这里插入图片描述
在使用日历之前,要先导入calendar模块

import calendar

calendar.month(year, month):打印某年某月到日历

1.7 函数

def functionname(parameters):

	“函数_文档字符串”

#	代码块

	return [expression]

函数内容

(1) 函数代码块以def关键词开头

(2) 函数第一行语句可以选择性地使用文档字符串(用于存放函数说明)

(3) 函数内容以冒号起始,并且缩进

(4) return [expression]结束函数,选择性地返回一个值给调用方,不带表达式到return相当于返回none

参数传递

(1) 不可变类型:string,tuple,number(类似java到值传递,不会影响值本身)

(2) 可变类型:list,dict(类似java到引用传递,会影响值本身)

对于fun(a, b=15)的合法写法:

(1) fun(2, “hh”)

(2) fun(b=”666”, a=”hhh”)

(3) fun(a=”48”)

不定长参数:

def fun(arg1, *args):return [expression]

1.8 模块

模块能够有逻辑地组织python代码段。模块就是一个保存李python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。

import语句

vim aname.py

在vim内编辑

#!/usr/bin/python
a = “hhh”
def func(arg):
    print "hello ", arg
    print "hello : " + arg
    return

在这里插入图片描述
from…import 语句
从模块中导入一个指定的部分到当前命名空间中。
在这里插入图片描述
*from…import 语句

从模块中导入所有(不建议用)

1.9文件 I/O

输出到键盘

print

读取键盘输入

第一种:raw_input([提示内容])

strraw_input(“请输入:”)
print str

第二种:input([提示内容])

str = input("请输入:")
print str

open()函数

f = open(filename[,mode, buffering])

filename:文件名字符串

mode:打开文件的方式(只读r,写入w,追加a等)。默认文件访问模式为只读(r)

buffering:如果为0,就不会有寄存。如果为1,访问文件会寄存行。如果大于1,表明这是缓冲大小。负值则为系统默认。

File对象的属性

file.closed:文件已被关闭返回true,否则返回false

file.mode:返回被打开文件的访问模式

file.name:返回文件的名称

file.close():关闭文件

file.flush():刷新文件内部缓冲

file.next():返回文件下一行

file.write(string):将字符串写入文件中

file.read([count]):从文件中读取一个字符串

file.seek(offset [, from]):改变当前文件的位置。Offset表示要移动的字节数。From表示移动字节的参考位置。

1.10关于os模块

os.rename(current_file_name, new_file_name):重命名文件

os.remove(file_name):删除文件

os.mkdir(dir_name):在当前目录下创建新的目录

os.chdir(dir_name):改变当前目录

os.getcwd():显示当前的工作目录

os.rmdir(dir_name):删除目录

1.11 异常处理

第一种(不带任何异常类型):

try:
    #正常的操作
except:
    #发生异常,执行这块代码
else:
    #如果没有异常执行这块代码

第二种(带异常类型):

try:
	<语句>        #运行别的代码
except <名字><语句>        #如果在try部份引发了'name'异常
except <名字><数据>:
	<语句>        #如果引发了'name'异常,获得附加的数据
else:
	<语句>        #如果没有异常发生

第三种(带多种异常类型):

try:
    #正常的操作
except(Exception1[, Exception2[,...ExceptionN]]]):
    #发生以上多个异常中的一个,执行这块代码
else:
    #如果没有异常执行这块代码

try-finally语句:

try:
<语句>
finally:
<语句>    #退出try时总会执行

raise关键字用于引发异常:

raise XXXError()

1.12 字符串格式化

format()方法允许格式化字符串的选定部分。

有些来自数据库或输入的文本很难控制,要控制此类值,在文本中添加占位符(花括号{}),然后通过format()方法运作,例如:

price = 52
txt = "the price is {} dollars"
print (txt.format(price))

#结果:the price is 52 dollars

格式化:

txt = "the price is {:.2f} dollars"

#结果:the price is 52.00 dollars

多个值:

name = "lmc"
age = 22
city = "shenzhen"
txt = "My name is {}, age is {} in {}"
# txt = "My name is {0}, age is {1:.2f} in {2}"
print (txt.format(name,age,city))

命名索引:

txt = "My name is {}, age is {} in {}"
print (txt.format(name="lmc",age="22",city="shenzhen"))

1.13 其他

pass 语句

空语句,是为了保持程序结构到完整性,不做任何事情,一般用做占位语句。

dir()函数

dir()函数是一个排好序的字符串列表,内容是一个模块里定义过的名字。

返回的列表容纳李在一个模块里定义的所有模块,变量和函数。语法如下:

dir(aname)

reload() 函数

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

因此,如果想重新执行模块里顶层部分到代码,可以用reload()函数。该函数会重新导入之前导入过到模块。语法如下:

reload(aname)

删除引用

del var1[,var2[,var3…]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值