python编程基础

1.python基础

在Linux环境下运行将下列代码作为脚本第一行:

#!/usr/bin/python

运行方法:

第一种方法:用python解释器,无需权限
python test.py
第二种方法:更改文件权限可执行,运行脚本
chmod 755 test.py
./test.py

多行注释可以用#号,还有’ ’ '和" " "

1.输出内容到文件

#将数据输出到文件中,注意1.所指定的盘符存在2.使用file=fp
#a+如果文件不存在就创建,存在就在文件内容的后面继续追加
fp=open('D:/test.txt','a+')
print('helloworld',file=fp)
fp.close()

2.转义字符

换行\n
回车\r
水平制表符\t
退格\b

3.print()函数

print('Hello world')
-> Hello world
print()
->打印空行
print('Hello', end='') #print函数时自动换行的,如果不换行使用 end=''
print('World')

4.input()函数

函数等待用户在键盘输入一些文本,并按下回车键

myName = input()
注意:
在python2中存在raw_input()input()两个函数:

raw_input():将所有输入作为字符串看待,返回字符串类型
input():只能接收"数字"的输入,返回所输入的数字的类型(int, float)

在python3中仅保留了input() 函数:

input():其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型

在这里插入图片描述

5.len()函数

向len()函数传递一个字符串,然后该函数求值为一个整性值,即字符串中字符的个数

len('hello')
->5

6.str()、int()和float()函数

str() 将其他数据类型转成字符串
int() 将其他数据类型转成整数
float() 将其他数据类型转成浮点数

在这里插入图片描述

2.控制流

1.布尔操作符

三个布尔操作符用于比较布尔值

and
or
not

2.控制流元素

python最具有特色的就是使用缩进来表示代码块,不需要使用大括号{ }。
缩进的空格数是可变的,但是同一个代码块的语句必须包括相同的缩进空格数,
如果不一致,会导致运行错误

2.1 if语句

if condition :
	print()
else :
	print()
if condition1 :
	print()
elif condition2 :
	print()
else :

2.2 while循环语句

while condition :
	print()

2.3 for循环和range( )函数

for i in range(5):
	print(i)
->
0
1
2
3
4

对于range()函数第一个参数是for循环变量开始的值,第二个参数是上限,但不包含它
range()函数也可以有第三个参数。前两个参数分别是起始值和终止值,第三个参数是“步长”

for i in range(12,16):
	print(i)
->
12
13
14
15
for i in range(0,10,2):
	print(i)
->
0
2
4
6
8
import 语句导入模块
sys.exit() 函数,让程序终止或退出

3.函数

def 函数名():
	print()
def 函数名(参数):
	return()
	print()	

3.1局部和全局作用域

在函数内修改全局变量,使用global语句
有 4 条法则, 来区分一个变量是处于局部作用域还是全局作用域:
1.如果变量在全局作用域中使用(即在所有函数之外),它就总是全局变量
2.如果在一个函数中,有针对该变量的 global 语句,它就是全局变量
3.否则,如果该变量用于函数中的赋值语句,它就是局部变量
4.但是,如果该变量没有用在赋值语句中,它就是全局变量

3.2异常处理

错误可以由try和except语句来处理,那些可能出错的语句被放在try子句中。如果错误发生,程序执行就转到接下来的except子句开始处

def spam(divideBy):
	try:
		return 42/divideBy
	except ZeroDivisionError:
		print('Error:Invalid argument.')
print(spam(2))

4.列表

列表是一个值,包含多个字构成的序列,表项用逗号分隔
在这里插入图片描述
列表也可以包含其他列表值,这些列表的列表值,可以通过多重下标来访问

spam = [['cat','bat'], [10, 20, 30, 40, 50]]
spam[0]
->['cat', 'bat']
spam[0][1]
->'bat'
spam[1][4]
->50

可以用负数作下标,-1指列表中的最后一个下标,-2指列表中倒数第二个下标

spam[1:4] 列表切片,向上增长,直至第二个下标的值,但不包含它
spam[1:]
spam[:2]
+操作符可以连接两个列表
del spam[2] del语句将删除列表中下标处的值
'cat' in spam 可以确定一个值是否在列表中
'cat' not in spam
多重赋值,变量的数目和列表的长度必须严格相等
cat = ['fat', 'black', 'loud']
size, color, disposition = cat
copy模块
cheese = copy.copy(spam)

在for循环中使用range(len(someList)),迭代列表的每一个下标。

supplies = ['pens', 'staplers', 'flame-throwers', 'binders']
for i in range(len(supplies)):
	print(supplies[i])

4.1增强赋值

增强的赋值操作,可以完成字符串和列表的连接
在这里插入图片描述

bacon = ['Zophie']
bacon *= 3
->['Zophie', 'Zophie', 'Zophie']

4.2方法

spam.index('hello') index()如果值在列表中,返回下标,否则报错
spam.append('moose') append()在列表后面添加值
spam.insert(1,'chicken') insert()在下标后插入一个值
spam.remove('cat') 从列表中删除值
spam = [2,5,1,-7]
spam.sort() 顺序排序
spam.sort(reverse=True) 让sort按逆序排序

4.3元组数据类型

“元组”数据类型几乎与列表数据类型一样,区别在于元组像字符串一样,是不可变的。
用圆括号(),而不是方括号[]
用list()和tuple()函数来转换类型

tuple(['cat', 'dog', 5])
->('cat', 'dog', 5)
list(('cat', 'dog', 5))
->['cat', 'dog', 5]

5.字典和结构化数据

字典是许多值的集合,字典的索引被称为“键”,键及其关联的值称为“键-值”对,也就是perl中的哈希。
字典输入使用花括号{ },可以通过它们的键访问这些值

myCat = {'size':'fat', 'color':'gray', 'disposition':'loud'}
键是'size''color''disposition'
值是'fat''gray''loud'

5.1 方法

spam = {'color':'red', 'age':42}
for v in spam.values():
	print(v)
->
red
42
for v in spam.keys():
	print(v)
->
color
age
for v in spam.items():
	print(v)
->
('color', 'red')
('age', 42)
检查字典中是否存在键或值
'name' in spam.values()
'name' not in spam.keys()
get()要取得其值的键,如果该键不存在时,返回备用值
spam.get('color':0)
setdefault()传递给该方法的第一个参数,是要检查的键。第二个参数,是如果该键不存在时要设置的值
spam.setdefault('color', 'black')

6.字符串操作

字符串可以用双引号开始和结束,就像用单引号一样。使用双引号的一个好处,就是字符串中可以使用单引号字符
原始字符串r 完全忽略所有的转义字符

print(r'That is Carol\'s cat.')
->That is Carol\'s cat.

字符串像列表一样使用下标和切片。

spam = "Hello world!"
spam[0] 
->'H'
spam[1:5]
->'Hello'
innot in 操作符也可以用于字符串
'Hello' in 'Hello World'

6.1字符串方法

spam.upper() 转换为大写
spam.lower() 转换为小写
spam.isupper()
spam.islower()
如果字符串至少有一个字母, 并且所有字母都是大写或小写, isupper()和
islower()方法就会相应地返回布尔值 True

在这里插入图片描述

startswith()
endswith()
'Hello world!'.startswith('Hello')
'Hello world!'.endswith('world!')
join()
split()
', '.join(['cats', 'rats', 'bats'])
'My name is Simon'.split()

如果只需要检查字符串的开始或结束部分是否等于另一个字符串, 而不是整个字符串, 这些方法就可以替代等于操作符==,这很有用


参考文献:Python编程快速上手 - [美]  Al Sweigart 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值