以下语句为python3的语法
1.字符串
用" "或’ '就是字符串
1.1输出
message = "Hello World"
a = 1
b = a/2
print(message)
print(a,b)
print(message + " Again")
print(message + str(a))
用print()便可实现输出的功能,默认以换行符结尾。变量类型自动识别,用+号可实现字符串的拼接,如果想将字符串和整数或浮点数拼接,需要str(整型或浮点型数据)。同样字符转整数之类的int(字符串)。
如果想不换行更改结尾字符就可以了。
a = 1
b = 2
print(a,b,end = '')##输出1空格2
如果字符串里面想用" "或’ ‘,可交叉使用如:"test’ "或在前面加转义符’\’
1.2字符修改
方法是Python可对数据执行的操作
方法 | 功能 |
---|---|
a.lower() | 将字符串a转化成全部小写字母,但a不变 |
a.title() | 将字符串a转化成首字母大写形式 |
a.upper() | 将字符串a转化成全部大写字母 |
a.lstrip() | 去除a首部的空白 |
a.rstrip() | 去除a末尾的空白 |
a.strip() | 去除a首尾的空白 |
a.split() | 将a以分隔符为分隔,返回形成的列表 |
# -*- coding:utf-8 -*-
message = " a BcDE fgh "
print(message.lower())##小写
print(message.upper())##大写
print(message.title())##首字母大写
print(message)##原来变量未变
print(message.rstrip())##去除末尾空白
print(message.lstrip())##去除首部空白
print(message.strip())##去除两端空白
如果注释中出现中文,并出现不能编译的情况可在前面声明utf-8编码。
声明1)# -*- coding:utf-8 -*-
或者# -*- coding=utf-8 -*-
2)#coding:utf-8
3)#coding=utf-8
实际上主要是后面两种,只要开头的注释包括2)3)加其他字符是没有问题的,另外coding后面的 : 或=前面不能有空格。
在输出过程中,换行符\n,制表符\t等等一样可以用
2.列表
2.1基本
列表类似于C里面的数组,但里面可以存储不同的元素
基础 | 功能 |
---|---|
a=[‘a’,‘b’,1,2] | a是个列表,含有a,b,1,2四个元素 |
a[i] | 访问列表中第i个元素,下标从零开始算,i可以为负数,意味着倒数,如-1表示最后一个 |
a[i] = ‘c’ | 将列表第i个元素修改为c,下标不能超过界限 |
a.append(‘d’) | 在列表末尾添加元素d |
a.insert(i,‘e’) | 在列表第i处添加元素e |
del a[i] | 删除列表中第i个元素 |
a.remove(‘b’) | 删除列表中为b的元素 |
a.pop(i) | 弹出列表第i个元素,可以将其赋值给其他变量,i默认-1 |
set(a) | 将列表中重复元素临时删去只剩下一个,列表不变 |
#coding: utf-8
a = ['a','b',1,2]
print(a[0])
a[0] = 'A'
print(a[0])#显示修改a[0]的结果
a.append(3)
print(a)#显示添加后结果
del a[0]
print(a)#显示删除a[0]的结果
temp = a.pop()
print(a)
print(temp)#显示弹出后a的结果及弹出值
a.remove('b')
print(a)#显示删除指定值的结果
a.remove()删除的值一定在列表中有,否则会报错
2.2组织列表
方法 | 功能 |
---|---|
sorted(a) | 对a临时排序,可传入reverse = True反序。不改变列表.下面两种均会改变 |
a.sort() | 将列表按英文字母大小写排序,可传入reverse = True |
a.reverse() | 列表反向 |
len(a) | 返回列表长度 |
#coding: utf-8
a = ['b','c','d','a']
print(sorted(a))
print(a)#sorted(a)未改变列表
a.sort()
print(a)#改变列表
a.reverse()
print(a)
2.3遍历列表
用for循环可遍历列表,这里的for循环与C里面的不同。
#coding: utf-8
a = ['b','c','d','a']
for a_ in a:
print(a_.upper())
print(a_)
将a中的元素依次赋值给a_,每赋值一次后执行一次循环的语句。后面的冒号不能缺少,循环语句需相应缩进。
2.4创建数值列表
#coding: utf-8
for i in range(1,5):
print(i)
print('')
for i in range(1,5,2):
print(i)
print(range(1,5))
使用range(a,b,c)便可创建一系列数字,从a开始,步长为c(默认为1),直到生成的数字>=b,就是不包含b。但此时range(a,b)还不算是列表需要用list()将其转化为列表。
#coding: utf-8
a = list(range(1,5))
print(a)
b = []
for c in range(1,5):
c = c**2
b.append(c)
print(b)
这里c **2 代表c的平方。另外,生成1到4的平方的列表还可以使用列表解析的方法(如下)。i**2作为作为列表a的元素。i是从1到4的数,这里的for语句没有冒号。
a =[i**2 for i in range(1,5)]
print(a)
还有一些专门处理数字列表的方法。
方法 | 功能 |
---|---|
max(a) | 返回列表a中最大的数值 |
min(a) | 返回列表a中最小的数值 |
sum(a) | 返回列表a中各数值求和 |
2.5切片
切片可以说是列表的副本,如果将一个列表a赋值给列表b,修改列表b中的元素,实际上会修改a的元素。相当于b是a的引用,b指向的内存和a是一样的。如下
#coding: utf-8
a = [i**2 for i in range(1,5)]
for a_ in a:
print(a_,end=' ')
b = a
for i in range(0,4):
b[i]=b[i]+1
print()
print(a)
这时候需要将b = a
修改为b = a[:]
,这样a和b才是两个分开的列表,冒号前面是从a第多少个元素开始,默认0;冒号后面是截止到到a的第几个元素,但不包括,如果不填则包含列表最后的元素。
#coding: utf-8
a = [i**2 for i in range(1,5)]
for a_ in a:
print(a_,end=' ')
b = a[1:3]#(从0开始)将a的第1个和第2个元素形成的列表赋值给b
for i in range(0,len(b)):
b[i]=b[i]+1
print()
print(a)
print(b)
2.6元组
元组就是不可改变其中元素的列表,列表是a = [1,2],元组则以a = (1,2)表示。元组只可以访问里面的元素,另外a = (1,2)后再将其他数据赋值给a也是没有问题的
3.if语句
if语句同C一样可用于条件判断,并且条件表达式不一定要加括号。但表达式中不能像C一样将某个变量赋值。if 还可以判断列表是否含有元素,if 5 in a或者if 5 not in a
if语句的形式有以下
1.if a > b:
语句
2.if a < b:
语句
else:
语句
3.if a < b:
语句
elif a !=b:
可再接elif或者else
例子:
#coding: utf-8
a = 1
b= 2
c = [1,2,3,4,5]
if a > b:
print("a>b")
elif (a < b):
print("a<b")
if (a+10 not in c):
print(c)
if 5 in c:
print ("c has 5" )
4.字典
字典相当于将a与b建立映射,a称为键,b成为值,字典中的元素以键值对为单位。如a={'a':1,'b':2}
访问print(a['a'])
就会输出1
基础 | 功能 |
---|---|
a={‘a’:1} | 建立字典包含a-1这个键值对 |
a={‘b’:2} | 如果字典a中存在’b’这个键,则修改b对应的值为2。如果没有则添加映射 |
a[1] | 访问a中1为键对应的值 |
del a[‘b’] | 删除字典a中键b以及对应的值 |
a.items() | 返回键值对 |
a.keys() | 返回键 |
a.values() | 返回值 |
#coding: utf-8
#coding: utf-8
test = {'a':[1,2,3],'b':4,'c':5}
print(test.keys())
for key,value in test.items():
print(key +'---'+ str(value))
print()
del test['a']
for value in test.values():
print(value)
print(list(test.items()))
print(list(test.values()))
这里看到字典中是可以镶嵌列表的,反过来也可以,同样字典中可以镶嵌字典(字典只能作为值),列表中可以镶嵌列表。如果直接list(a.items())会将对应的键值对形成一个元组。
5.用户输入
用input()即可获得用户输入的信息,括号里可以填提示信息,数据是以字符串形式存储的,转化为数字还需要用int(message)
message = ''
message = input("Please input something?")
print(message)
6.While循环
while循环与C类似,如果后面表达式为1则执行循环,为0则不执行。不要忘记冒号和缩进。同样可以while 'a' in test:
来判断a是否在列表中。break可用来退出当前循环,continue可退出当前循环执行下一次循环。
#coding: utf-8
for a in range(1,10):
if(a == 5):
continue
print(a)
print()
for a in range(1,10):
if(a == 5):
break;
print(a)