基本语法

  • 注释使用#符号,多行注释用''',""

  • 语句之间使用分号(;)分割

  • 字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。

  • 占位符代表空 pass

  • 判断变量类型 type() /isinstance()【i=4; type(i)==i;isinstance(i, int)】

  • 删除引用 del 【a=5;del a】

  • 删除列表数据 【a = [1, 2, 3, 4, 5, 6];del a[2]】

  • list列表【a = [1, 2, 3, 4, 5, 6]】#list列表元素可修改

  • Tuple列表【tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 ) ; tup3 = "a", "b", "c", "d"; # 不需要括号也可以】#tuple列表元素不可修改不允许删除

  • 文件操作 with open("x.txt") as f:

  • 列表相加用+【a=[1,2];b=[3,4];print(a+b);#[1,2,3,4]】

  • 数据类型转换【int(a)】

  • 逻辑运算符 and 、or、 not

  • 成员运算符 in 、not in

  • 身份运算符 is、is not

  • is 与 == 区别: is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

  • 字符串格式化 【print ("我叫 %s 今年 %d 岁!" % ('小明', 10))】

  • 三引号:三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符

  • name属性 每个模块都有一个name属性,当其值是'main'时,表明该模块自身在运行,否则是被引入,其值为文件名

  • 多列表

>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'
  • 列表相关函数
len(list)  列表元素个数 
max(list)返回列表元素最大值 
min(list)返回列表元素最小值 
list(seq)将元组转换为列表 
list.append(obj)在列表末尾添加新的对象
list.count(obj)统计某个元素在列表中出现的次数
list.index(obj)从列表中找出某个值第一个匹配项的索引位置 
list.insert(index, obj)将对象插入列表 
list.pop([index=-1]])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 
list.remove(obj)移除列表中某个值的第一个匹配项 
list.reverse()反向列表中元素 
list.sort(cmp=None, key=None, reverse=False)对原列表进行排序 
list.clear()清空列表 
list.copy()复制列表
  • 缩进来表示代码块,并且缩进空格数得相同
if True:
    print ("Answer")
    print ("True")
       print("false")#出错
  • 字符串的截取的语法格式如下:变量[头下标:尾下标]
str='Runoob'
print(str)                 # 输出字符串Runoob
print(str[0:-1])           # 输出第一个到倒数第二个的所有字符Runoo
print(str[0])              # 输出字符串第一个字符R
print(str[2:5])            # 输出从第三个开始到第五个的字符noo
print(str[2:])             # 输出从第三个开始的后的所有字符noob
print(str * 2)             # 输出字符串两次RunoobRunoob
print(str + '你好')        # 连接字符串Runoob你好
print('hello\nrunoob')      # 使用反斜杠(\)+n转义特殊字符
hello
runoob(换行了)
print(r'hello\nrunoob')     # 在字符串前面添加一个 r,表示原始字符串,不会发生转hello\nrunoob
  • 导入相应的模块 import 与 from...import
在 python 用 import 或者 from...import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
  • 无序不重复元素的序列set
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
 
print(student)   # 输出集合,重复的元素被自动去掉 {'Mary', 'Jim', 'Rose', 'Jack', 'Tom'}
 
# 成员测试 结果:Rose 在集合中
if 'Rose' in student :
    print('Rose 在集合中')
else :
    print('Rose 不在集合中')
 
 
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')

print(a - b)     # a和b的差集
print(a | b)     # a和b的并集
print(a & b)     # a和b的交集
print(a ^ b)     # a和b中不同时存在的元素
  • 无序的对象集合Dictionary 键(key)必须使用不可变不可重复
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2]     = "2 - 菜鸟工具"
 
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
 
 
print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值
#-----------------------------字典使用技巧-------------------------
 knights = {'gallahad': 'the pure', 'robin': 'the brave'}
 for k, v in knights.items():
    print(k, v)
#结果
gallahad the pure
robin the brave
#-----------------------------同时遍历两个或更多的序列,可以使用 zip() 组合-----------------
 questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue']
 for q, a in zip(questions, answers):
     print('What is your {0}?  It is {1}.'.format(q, a))

What is your name?  It is lancelot.
What is your quest?  It is the holy grail.
What is your favorite color?  It is blue.

if 语句

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

while 循环使用 else 语句
else 子句在穷尽列表或条件变为 false 时被执行,但被break终止时不执行

count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")
'''结果
0  小于 5
1  小于 5
2  小于 5
3  小于 5
4  小于 5
5  大于或等于 5
'''

函数

" -----------计算面积函数--------------------"
def area(width, height):
    return width * height
 
def print_welcome(name):
    print("Welcome", name)
 
print_welcome("Runoob")
w = 4
h = 5
print("width =", w, " height =", h, " area =", area(w, h))
"--------------------不定长参数-------------------------------"
# 加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print ("输出: ")
   print (arg1) #70
   print (vartuple) #(60, 50)
"----------------加了两个星号 ** 的参数会以字典的形式导入。----------------------"
# 可写函数说明
def printinfo( arg1, **vardict ):
   "打印任何传入的参数"
   print ("输出: ")
   print (arg1)
   print (vardict)
"-----------------------匿名函数------------------------"
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2
 
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))
"------------------------函数修改外部变量-----------------"
num = 1
def fun1():
    global num  # 需要使用 global 关键字声明
    print(num) #1
    num = 123
    print(num)#123
fun1()
print(num)#123

  • (1)_xxx 保护变量
    (2)__xxx 类中的私有变量/方法名
    (3)xxx 系统定义名字, 代表python里特殊方法专用的标识
  • 类的方法第一个参数表示对象本身,一般用self表示
  • 构造方法: init()
  • 继承 class DerivedClassName(Base1, Base2, Base3):

你可能感兴趣的:(基本语法)