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类似,不做说明
逻辑运算符
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | X and y | “与”,如果x为false,返回false,否则返回y的计算值 |
or | X not y | “或”,如果x非0,返回x的值,否则返回y的计算值 |
not | not x | “非”,如果x为true,返回false;如果x为false,返回true |
成员运算符
运算符 | 描述 |
---|---|
in | 如果在指定的序列中找到值返回true,否则返回false |
not in | 如果在指定到序列中没有找到值返回true,否则返回false |
身份运算符
运算符 | 描述 | 实例 |
---|---|---|
is | Is是判断两个标识符是不是引用同一个对象 | X is y类似id(x)==id(y) |
is not | Is 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([提示内容])
str = raw_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…]]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/81632.html