初学 python 基础语法

python查看帮助

$ python -h

python 标识符

1.由 字母,数字,下划线 组成;
2.标识符 只能以 字母,下划线 开头,不能以数字开头;
3.标识符 区分大小写
4.下划线开头的标识符特殊意义:单下划线(例如 _foo)代表不能直接访问的类属性,需通过接口访问,双下划线(例如:__foo)代表类的私有成员,双下划线开头+双下划线结尾(例如:__foo__)代表python里的特殊方法专用的标识
5.同一行可写多条语句,用分号隔开 例如:print(“1”);print(“234”);

python 保留字符

所有的关键字都是小写
在这里插入图片描述

代码块规则(行和缩进)

1.空白缩进;
2.同一个块的代码,缩进空白数量必须一致;

如何支持中文输出(良好的编码习惯)

作为中国的开发人员,良好的编码习惯,任何情况下,一定要让程序支持中文~

#!/usr/bin/env python
#coding=utf-8 #此处表示编码使用utf8格式,不管是否需要,养成必定要写utf8支持的良好习惯

分行符

与C++一样,如果一条语句分多行显示,用斜杠,例:

sum = value1 + \
	value2 + \
	value3

引号

可以使用 单引号,双引号,三引号:
1.单引号与双引号差别不大;
2.三引号支持多行字符串(三个单引号 或 三个双引号);

value = 'value1'
value2 = "value2"
mulvalue = """我是第一行,
我是第二行,
我是第三行"""
或者
mulvalue = '''我是第一行,
我是第二行,
我是第三行'''

注释

1.单行注释:#

#!/usr/bin/python
# 我是注释
print('hello')

2.多行注释:三引号(三个单引号 或 三个双引号)

#!/usr/bin/python

'''
我是多行注释
我是多行注释2
'''

"""
我也是多行注释
我还是多行注释2
"""

字符串连接(+)

与go语言类似,也是用加号

#!/usr/bin/python
print "123" + "456"

各模块之间用空格隔开(约定俗称的规则)

1.函数或类之间,用空行分隔;
2.空行本身没意义,但能增加代码可维护性;
3.空行不属于python语法,只属于程序代码一部分,不影响python解释器运行;

同一行多条语句

#!/usr/bin/python
print("1");print("2");print("3");

变量定义

标准变量类型:

Numbers:数字{int(例:1234),long(例:2345L),float(例:0.0123),complex(例:3+100j)} 
	# 特别说明:python3.0之后,只有int,没有long
	
String:字符串(类似std::string)
	#字串列表有2种取值顺序:s= 'abcdef'
		# 从左往右索引由 0 开始:s[1:3] >> 'bcd'
		# 从右往左索引由 -1 开始:s[-2:-5] >> 'bcde'
List:列表(类似std::list)
Tuple:元组(类似std::vector)
Dictionary:字典(类似std::map)
#!/usr/bin/python
x=1
x += 2

x2=100.1

y="aaa"

m=n=k=2 # 支持多变量赋值

数组定义和遍历

#!/usr/bin/python
x = ['aa', 'bb', 'cc']
for i in x:
	print "I am " + i

字符串截取

#!/usr/bin/env python
#coding=utf-8

x = 'abcdefgh'
print x[2:5] # 'cde'
print x[-4:-1] # 'efgh'
print x[-4:-1:2] #第三个参数是步长 'eg'

列表

#!/usr/bin/env python
#coding=utf-8

x = ['a','bc','d','e','f','g','h']
print x[-4:-1]
print x[2:4]
print x[1:6:3] #第三个参数是步长

# 修改元素
x[0] = 'mmmm' # x = ['mmmm','bc','d','e','f','g','h']

# 末尾添加元素 append
x.append('new~') # x = ['mmmm','bc','d','e','f','g','h','new~']

# 中间插入元素 insert
x.insert(3, '33') # 插入一个元素,使得 x[3] = '33'

# 删除元素 del
del x[0]

# 从末尾弹出 pop
value = x.pop() # value = 'new~',并且x中的'new~'元素被删除

# 从任意位置弹出 pop(position)
value = x.pop(0) # 把x中0位置元素弹出,赋值给value,并删除原x[0]的元素

# 根据值删除 remove
x.remove('e') # 把x中'e'元素删除
# 注意 remove 只删除第一个 'e',如果x中有多个 'e' 元素,则需要多次调用remove

# 排序 sort ,永久修改原列表
x = ['z','a','t','x','m']
x.sort() # 正向排序
print x # ['a', 'm', 't', 'x', 'z']

x.sort(reverse=True) # 反向排序 
print x # ['z', 'x', 't', 'm', 'a']


# 临时排序 sorted,函数返回临时变量,同样也可以使用reverse=True
print sorted(x) # ['a', 'm', 't', 'x', 'z']
print x # ['z', 'x', 't', 'm', 'a']
print sorted(x,reverse=True) # ['z', 'x', 't', 'm', 'a']
print x # ['z', 'x', 't', 'm', 'a']

# 倒序 reverse 函数,永久修改
x.reverse()
print x # ['a','m','t','x','z']

元组

与列表很相似,差别在于列表用[x,y,z,k],元组用(a,b,c,d,e,f)
但是,但是,但是:元组内元素不可更改,也就是所谓的不能二次赋值,相当于只读列表!

#!/usr/bin/env python
#coding=utf-8

x = ['abcdefgh','888']
x[0] = '999' # 合法
print x[0:] # 输出 ['999','888']

#!/usr/bin/env python
#coding=utf-8

x = ('abcdefgh','888')
x[0] = '999' # 报错,元素项不能修改
print x[0:]

字典(key:value)

字典标识:{}

#!/usr/bin/env python
#coding=utf-8

dict = {}
dict['a'] = 'is a'
dist['b'] = 'is b'

dist2 = {'x':'xxx', 'y':'yyy', 'money':12345}

print dist
print dist['a']
print dist2
print dist2.keys() # 输出所有键 ['x','y']
print dist2.values() #输出所有值 ['xxx','yyy']

y = dist2.keys()
print y # ['x','y']

z = dist2.values()
print z # ['xxx','yyy']


查看变量类型(使用 type 或 isinstance 或 class is)

学习的过程中,看到有人说:所有的数据类型都是类,不知道对不对,姑且就这样认为吧!!!
不推荐用type(x),而用isinstance或 __class__ is

x = ['a','bbbb']
type(x) #<type 'list'>

z = type(x)
print z # <type 'list'>
t = type(z)
print t # <type 'type'>

print isinstance(x,list) # True
print isinstance(x,int) # False

class A:
	pass

a = A()

print a.__class__ is A # True

内置函数 range

#!/usr/bin/python
for i in range(10): # 注意冒号结束
	print i, # 加了逗号,所以输出结果 0 1 2 3 4 5 6 7 8 9 
	# print i # 没有逗号,则每个数字显示一行

输出

#!/usr/bin/python
# 每次输出都换行
print("1");
print("2");
print("3");
print 4
print 5

# 在同一行输出,空格隔开
x=11
y=22;z=33
print x,y,z

代码组

首行以关键字开始,冒号结束 ( if while def class else elif 等)

# 示例,不追求可编译
if value1 :
	# todo
elif value2 :
	# todo
else :
	#todo

# 新模块开始
if value3 :
	# todo

函数声明和逻辑运算符

#!/usr/bin/python

def foo(value1,value2): # def 开头,冒号结束
	value = value1 + value2
	if value > 2 :
		print value
	elif (vaue > 0) and (value < 2) or (value == -1) : # 逻辑运算用 and or
		print value
	else:
		print value
	return value

格式化输出

#!/usr/bin/python
x='1'
y=2
z=3
print '%s + %d = %d'%(x,y,z) # 输出结果 1 + 2 = 3

引入模块 (import)

#!/usr/bin/python

import sys # 引入sys模块

print sys.argv  #执行命令时,可以携带参数

声明解释器路径(一定是首行)

#!/usr/bin/python # 方式一
#!/usr/bin/env python # 方式二(推荐)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值