基础语法
- 字符串单引号双引号都行,是为了打印出引号才设计出两种的
python
s1 = '"haha"' s2 = "'haha'" print(s1) print(s2) # 结果是: "haha" 'haha'
- 事实上就近匹配,比如 s = ''haha''会被解析成前面俩一对 后面俩一对
highlighter- python
s = '''haha''' print(s) # 结果仍然是 haha
-  元组() 列表【】 并且元组只读,列表可改 
-  字典 a = {"name" : "jack", "age" : 18}
-  type(xxx) 查看类型!! 
-  类型转换 
python
int("123")    # 123
int(-3.14)    # -3
int(True)     # 1
int([5])      # 5
int([1,2,3])  # 报错
int("3.14")   # 报错
float(3)      # 3.0
float("3.14") # 3.14
float(True)   # 1.0
# 任意数据类型都可以无损转字符串,包括True False、列表元组字典
str(xxx)
# 非零 非空的转bool 都是True 否则是false
bool([0])     # True
bool("0")     # True
bool(" ")     # True
bool(print(1))# False 
- 运算符
- 加减乘除余 + - * / %
- 整数除 // (python里: 3/2=1.5 3//2=1)
- ** 求指数,相当于^
- 赋值运算符,可以a=b=10 还可以a,b = 10, 10
- 与或非 and or notTrue and print("YES")打印,因为前面真还要判断后面!False and print("YES")不打印,因为前面是假直接返回了!True or print("YES")不打印,因为前面是True 直接返回了!False or print("YES")打印,因为前面是假还要判断后面!
- 输入输出
- 格式化输出,类似于sprintf
python
age = 18
name = "Jack"
print("我的名字是%s,我的年龄是%d" % (name,age)) 
- 输入age = input("请输入")返回age是一个str!!!
- 循环控制
- range(5) 相当于 [0,1,2,3,4],但他是个可迭代对象,需要用list(range(5))转换为列表
- range(1,5) 相当于[1,2,3,4] 左闭右开!!!!
- range(1,10,3) 相当于[1,4,7]
高级语法
字符串
highlighter- routeros
s1 = "China"
print(len(a))              # 5
print(s1.find('a'))        # 4 , 第一次出现的位置,如果没出现过就返回-1
print(s1.startswith('C'))  # True
print(s1.endswith('b'))    # False
print(s1.count('h'))       # 1 ,出现了一次
print(s1.replace('C','c')) # china
s2 = "1#2#3#4"
print(s2.split('#'))       # [1,2,3,4]
print(s1.upper())          # CHINA
print(s1.lower())          # china
s3 = "1 2 3"
print(s3.strip())          # 123, 且更改len 
列表
python
a = [1,"2",True]
a.append(False)
a.insert(2, "3")                # 3 的索引就是 2
b = ["j", "k"]
a.extend(b)                     # 相当于append,不过是逐一追加一个列表
if 1 in a:
    print("在")
a.pop()                         # 返回最后一个元素,a的最后一个元素被删除,可print(a)
a.remove(1)                     # 返回None, 删除元素值为1的元素
del a[2]                        # 删除下标2的元素,不可被赋值为表达式! 
元组
- 和列表不同之处在于,不可修改元素
- a = (1,) type才是tuple,如果不加逗号,就看做int
切片
python
s = "abcdefg" print(s[0:4]) # abc, 从0到4左闭右开 print(s[1:]) # bcdefg print(s[:4]) # abc print(s[0:6:2]) # ace
字典
highlighter- vim
person = {"name" : "吴谦", "age" : 28}
print(person["name"])
print(person.get("name"))
del person["age"]
print(person)
del person                            # print会报错,因为没有这个对象了
person.clear()                        # 保留对象,print显示{}
# 遍历方法:keys() values() items()
for key in person.keys():
    print(keys)
.....
for i in person.items():
    print(i)                          # 得到的结果是("name":"吴谦")  ("age":28)
for i,j in person.items():
    print(i,j)









