c++语法大全
一、变量和简单数据类型
1.变量名只能包含字母、数字和下划线。可以以字母和下划线开头,但是不能从数字开头;变量名不能包含空格
2.数据类型–字符串
字符串可以用双引号或者单引号括起来,两者作用一样。具体选择哪种,要看字符串里面的内容,如果字符串里面包含单引号,那么外面就要使用双引号;如果字符串里面包含双引号,那么就用单引号括起来。
3.字符串函数
title()–以首字母大写的方式显示每个单词
title.upper()–全部大写
title.lower()–全部小写
4.拼接字符串–用"+"号
a=“hello”
b=“world”
print(a+","+b)
输出hello,world
5.指标符–\t 换行符–\n
6.字符串空白处理
rstrip()–删除末尾空白
lstrip()–删除开头空白
strip–删除两端空白
7.数字的四则运算没有什么特别的
8.字符串函数–str()
age=23
str(age)
9.注释符号
单行注释–#
多行注释–"""……"""
二、列表
1.列表类似于C语言的数组,将同类事物放在一个数组里面
string = [‘abc’ , ‘bcd’ , ‘efg’]
print(string)
输出: [‘abc’ , ‘bcd’ , ‘efg’]
还可以直接定义空列表string[]
2.访问列表元素
类似于C语言的数组,string[0],即可访问第一个元素
访问最后一个元素–string[-1]
3.修改元素
string[1] = ‘apple’
4.添加元素
在末尾添加–string.append(‘student’)
5.插入元素
string.insert(0,‘banana’),则banana插入到了列表开头,其他元素后移
6.删除元素
del string[0]
使用del删除的元素,将无法再次访问
string2 = string.pop()
pop函数删除了string末尾的元素,并将其赋值给string2
如果要删除制定位置的元素,只需string.pop(2)
根据值删除元素
string.remove(‘apple’)
remove只删除第一个制定的值,如果要删除列表中所有匹配的值,则需用循环
7.排序
string.sort()–按字母顺序排
string.sort(reverse=True)–按字母逆序排
sorted(string)–临时排序,即排序只有在用运行此句代码时有效,执行下一行代码时字符串又变成原来的顺序
8.反转列表元素的排列顺序
string.reverse()
9.列表长度–len(string)
三、操作列表
1.遍历整个列表–for循环
for k in string:
print(k)
相当于C语言:
for(k=string[i];i<strlen(string);i++)
{
printf(k);
}
2.创建数值列表
range(1,5)–左闭右开,1,2,3,4
for value in range(1,5)
使用list()直接将range()转换成列表
number = list(range(1,6))
print(number)
输出:[1,2,3,4,5]
range指定步长–range(2,11,2)–从2开始数,不断加2,直到达到11或超过11
2,4,6,8,10
3.平方–**
value=a**2
4.列表解析
squares = [value**2 for value in
range(1,11)]
print(squares)
[1,4,9,16,25,36,49,64,81,100]
C语言:
for(i=1;i<11;i++)
{
squares= i*I;
printf(squares);
}
5.切片–使用列表的一部分
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与range一样,Python在到达你指定的第二个索引前面的元素停止。
letter=[‘a’ , ‘b’ , ‘c’ , ‘d’ , ‘e’ , ‘f’]
letter[0:3]–[‘a’ , ‘b’ , ‘c’]
letter[1:4]–[‘b’ , ‘c’ , ‘d’]
letter[:3]–[‘a’ , ‘b’ , ‘c’]–没有指定第一个索引,就从第一个元素开始
letter[1:]–[‘b’ , ‘c’ , ‘d’ , ‘e’ , ‘f’]–没有指定最后一个索引,就在最后一个元素结束
letter[-3:]–最后三个元素
6.遍历切片
切片是原列表的一个子集,也是一个列表,他的基本操作和列表操作一样
7.复制列表
letter2=letter[:]–只需省略起始索引即可
8.元组
列表的元素可修改,而元组的元素不可修改
9.定义元组
使用圆括号定义–dim=(200,50)
print(dim[0])
print(dim[1])
10.修改元组变量
dim=(200,50)
dim=(500,90)
print(dim[1])
90
这个不是修改元组的元素,而是修改整个元组,使他变成一个新的元组
四、if语句
1.例子
for car in cars: if car == “bmw” print(car.upper() elif car==“ccd” print(car.lower() ) else
print(car.title() )
2.判断符号
==
!= and >=
or
a>=0 and b>=3
3.检查特定值不是否不包含在列表中
if student not in users:
4.检查列表是否为空
if cars:
print(cars[0])
五、字典
1.类似于C语言的结构体
student_1 = {‘name’ : ‘Tony’ , ‘age’:5}
print(student_1[‘name’])
print(student_1[‘age’])
Tony
5
2.添加字典值
字典是一种动态结构,可随时在其中添加键–值对。
student_1[‘sex’] = ‘M’
print(student_1)
{‘name’ : ‘Tony’ , ‘age’:5 , ‘sex’ = ‘M’ }
3.修改字典的值
student_1[‘age’]=6
4.删除值
del student_1[‘name’]
print(student_1)
{‘age’:5 , ‘sex’ = ‘M’ }
5.遍历字典
user_0 = {
‘username’: ‘efermi’
‘first’: ‘enrico’
‘last’: ‘fermi’
}
for k, v in user_0.items():
print("\nkey: " +k)
print("\nvalue" +v)
key: last
value: fermi
key:
first
value: enrico
key: username
value: efermi
PS:遍历字典时,顺序可能会与存储的顺序不一样
6.遍历字典的全部键
for name in student_1.keys():
7.遍历字典的所有值
student_1.values()
8.剔除重复项
set(student_1.values() )
9.嵌套–在列表中存储字典
将一系列字典存储在列表中,或将列表作为值存储在字典中。
alien_0={‘color’:‘green’,‘point’:5}
alien_1={‘color’:‘yellow’,‘point’:10}
alien_2={‘color’:‘red’,‘point’:15}
aliens=[alien_0,alien_1,alien_2]
for alien in aliens:
print(alien)
{‘color’: ‘green’, ‘point’: 5}
{‘color’: ‘yellow’, ‘point’: 10}
{‘color’: ‘red’, ‘point’: 15}
10.嵌套–在字典中存储列表
五、用户输入和while循环
1.输入–input()
a=input(“please input a number”)
相当于C语言:
printf(“please input a number”);
scanf("%d",&a);
2.int类型转换
a=input(“please input a number”)
a=int(a)
3.求模运算符%
两个数相除并返回余数
4%3=1
4%4=0
4.while循环
cnt=1
while cnt <=5:
print(cnt)
cnt+=1
5.使用break退出整个循环
while True:
if … :
break
else
…
6.continue–退出当前循环
六、函数
1.函数的定义及调用
def
greet(): #定义函数
print(‘hello’)
greet() #调用函数
2.传递参数
def greet (username): #定义函数
print(‘hello,’+username)
greet(‘jenny’) #调用函数
3.位置实参–位置很重要,参数一
一对应
调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。为此,最简单的关联方式就是基于实参的顺序。
定义:def des(animal_type, pet_name):
调用:def des(‘cat’, ‘harry’)
4.关键字实参–传递给函数的名称–值对,顺序可以变
定义:def des(animal_type, pet_name):
调用:def des(animal_type=‘cat’, pet_name=
‘harry’)
5.默认值–给形参指定默认值后,可在函数调用中省略相应的实参
定义:def des(animal_type, pet_name= ‘harry’)
调用:def des(animal_type=‘cat’)
6.返回值–同C语言,return
7.返回字典–就像返回数组
return 字典名/列表名
8.传递列表–参数直接就是列表名,就像传数组一样
9.在函数中修改列表
将列表传递给函数后,函数就可对其进行修改。在函数中对这个列表所做的任何修改都是永久性的
10.禁止函数修改列表
可以传递列表的切片(相当于复制一个列表)
fun(list[:])
11.传递任意数量的实参
def fun(*toppings)
*星号让Python创建一个名为toppings的空元祖,并将所有值都封装到这个元组中
12.将函数存在模块中,再导入整个模块
import fun
13.使用as给函数/模块制定别名
14.导入模块中的所有函数
from mokuai import *
七、类
1.编写和创建类
根据Dog类创建的每个实例都将存储名字和年龄。我们赋予了每条小狗蹲下sit()和打滚roll_over()的能力
class Dog(): ‘’‘一次模拟小狗的简单尝试’’’ def init(self,name,age): ‘’‘初始化属性name和age’’’ self.name =
name self.age=age def sit(self): ‘’‘模拟小狗被命令时蹲下’’’ print(self.name.title()+’ is now
sitting.’) def roll_over(self): ‘’‘模拟小狗被命令时打滚’’’ print(self.name.title()+’ rolled
over!’)
根据约定,在Python中,首字母大写的名称指的是类。这个类定义中的括号是空的,因为我们要从空白创建这个类。
类中的函数称为方法,与普通函数的规则一样,但是调用方式不一样。
(1)方法 init()
我们将方法_init_()定义成了包含三个形参:self、name、age。在这个方法的定义中,形参self是必不可少的,还必须位于其他形参的前面。因为Python调用这个_init_()方法来创建Dog实例时,将自动传入实参self。每个与类相关联的方法调用都自动传递实参self,他是指一个指向实例本身的引用,让实例能够访问类中的属性和方法。
我们创建Dog实例时,Python将调用Dog类的方法_init_().我们将通过实参向Dog传递名字和年龄,self会自动传递,因此我们不需要传递他。没当我们根据Dog类创建实例时,都只需给最后两个形参(name和age)提供值。
self.name=name
self.age=age
以self为前缀的变量都可供类中的所有方法使用,我们还可以通过类的任何实例来访问这些变量。self.name=name获取存储在形参name中的值,并将其存储到变量name中,然后该变量被关联到当前创建的实例。
2.访问属性
类似于C语言的结构体成员,这里用一个句点来访问属性。my_dog.name
3.调用方法
my_dog=Dog(‘willie’,6)
my_dog.sit()
my_dog.roll_over()
4.修改属性的值
通过实例进行修改
通过方法进行设置
通过方法进行递增(增加特定的值)
5.子类的方法_ init _()
创建子类的实例时,Python首先需要完成的任务是给父类的所有属性赋值。
class Car():
‘’‘一堆关于Car类的代码略过…’’’
class Electricar(Car):
‘’‘子类电动车的括号里包含父类的名称’’’
‘’‘创建子类时,父类必须包含在当前文件中,且位于子类前面’’’
6.给子类定义属性和方法
7.重写父类的方法
8.将实例用作属性
关于子类和父类的用法自己去百度,这里不详说
9.将模块中的类导入到主程序中
from car import Car —将car文件中的Car类导入到当前文件
from car import Car,ElectricCar–导入多个类
import car–导入car模块
from modern_name import *–导入所有类
八、文件和异常
1.读取整个文件
with open (‘demo.txt’) as file_object:
contents=file_object.read()
print(contents)
关键字with在不需要访问文件后将其关闭,在整个程序中,我们调用了close(),但没有调用close()。你也可以调用open()和close()来打开和关闭文件,但这样做时,如果程序存在bug,导致close()语句未执行,问价将不会关闭。
2.文件路径
file_name = ‘text_files\filename.txt’
with open(file_name) as file_object
3.逐行读取
for line in file_object:
print(line)
4.创建一个包含文件各行内容的列表
使用关键字with时,open()返回的文件对象只在with代码块内可用。如果要在with代码块外访问文件的内容,可在with代码块内将文件各行存储在一个列表中,并在with代码块外使用该列表。
file_name=‘text_files\filename.txt’
with
open (file_name) as file_object:
lines=file_object.readlines()
for line in lines:
print(line.rstrip())
5.写入文件
filename=‘programming.txt’
with
open (filename,‘w’) as
file_object: #在文件名后加一个参数。默认是只读
file_object.write(‘I love programming.’)
4.异常
如果你编写了了处理该异常的代码,程序将继续运行,如果未对异常进行处理,程序将终止,并显示一个traceback,其中包含异常的报告。
具体自己上网查
5.存储数据
模块json让你能够将简单的Python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据。
函数json.dump()接受两个实参:要存储的数据以及可用于存储数据的文件对象
6.重构–将代码进行修改
九、测试代码